Path: blob/master/modules/gapi/src/api/operators.cpp
16339 views
// This file is part of OpenCV project.1// It is subject to the license terms in the LICENSE file found in the top-level directory2// of this distribution and at http://opencv.org/license.html.3//4// Copyright (C) 2018 Intel Corporation567#include "precomp.hpp"89#include "opencv2/gapi/imgproc.hpp"10#include "opencv2/gapi/core.hpp"11#include "opencv2/gapi/gscalar.hpp"12#include "opencv2/gapi/operators.hpp"1314cv::GMat operator+(const cv::GMat& lhs, const cv::GMat& rhs)15{16return cv::gapi::add(lhs, rhs);17}1819cv::GMat operator+(const cv::GMat& lhs, const cv::GScalar& rhs)20{21return cv::gapi::addC(lhs, rhs);22}2324cv::GMat operator+(const cv::GScalar& lhs, const cv::GMat& rhs)25{26return cv::gapi::addC(rhs, lhs);27}2829cv::GMat operator-(const cv::GMat& lhs, const cv::GMat& rhs)30{31return cv::gapi::sub(lhs, rhs);32}3334cv::GMat operator-(const cv::GMat& lhs, const cv::GScalar& rhs)35{36return cv::gapi::subC(lhs, rhs);37}3839cv::GMat operator-(const cv::GScalar& lhs, const cv::GMat& rhs)40{41return cv::gapi::subRC(lhs, rhs);42}4344cv::GMat operator*(const cv::GMat& lhs, float rhs)45{46return cv::gapi::mulC(lhs, static_cast<double>(rhs));47}4849cv::GMat operator*(float lhs, const cv::GMat& rhs)50{51return cv::gapi::mulC(rhs, static_cast<double>(lhs));52}5354cv::GMat operator*(const cv::GMat& lhs, const cv::GScalar& rhs)55{56return cv::gapi::mulC(lhs, rhs);57}5859cv::GMat operator*(const cv::GScalar& lhs, const cv::GMat& rhs)60{61return cv::gapi::mulC(rhs, lhs);62}6364cv::GMat operator/(const cv::GMat& lhs, const cv::GScalar& rhs)65{66return cv::gapi::divC(lhs, rhs, 1.0);67}6869cv::GMat operator/(const cv::GMat& lhs, const cv::GMat& rhs)70{71return cv::gapi::div(lhs, rhs, 1.0);72}7374cv::GMat operator/(const cv::GScalar& lhs, const cv::GMat& rhs)75{76return cv::gapi::divRC(lhs, rhs, 1.0);77}7879cv::GMat operator&(const cv::GMat& lhs, const cv::GMat& rhs)80{81return cv::gapi::bitwise_and(lhs, rhs);82}8384cv::GMat operator&(const cv::GMat& lhs, const cv::GScalar& rhs)85{86return cv::gapi::bitwise_and(lhs, rhs);87}8889cv::GMat operator&(const cv::GScalar& lhs, const cv::GMat& rhs)90{91return cv::gapi::bitwise_and(rhs, lhs);92}9394cv::GMat operator|(const cv::GMat& lhs, const cv::GMat& rhs)95{96return cv::gapi::bitwise_or(lhs, rhs);97}9899cv::GMat operator|(const cv::GMat& lhs, const cv::GScalar& rhs)100{101return cv::gapi::bitwise_or(lhs, rhs);102}103104cv::GMat operator|(const cv::GScalar& lhs, const cv::GMat& rhs)105{106return cv::gapi::bitwise_or(rhs, lhs);107}108109cv::GMat operator^(const cv::GMat& lhs, const cv::GMat& rhs)110{111return cv::gapi::bitwise_xor(lhs, rhs);112}113114cv::GMat operator^(const cv::GMat& lhs, const cv::GScalar& rhs)115{116return cv::gapi::bitwise_xor(lhs, rhs);117}118119cv::GMat operator^(const cv::GScalar& lhs, const cv::GMat& rhs)120{121return cv::gapi::bitwise_xor(rhs, lhs);122}123124cv::GMat operator~(const cv::GMat& lhs)125{126return cv::gapi::bitwise_not(lhs);127}128129cv::GMat operator>(const cv::GMat& lhs, const cv::GMat& rhs)130{131return cv::gapi::cmpGT(lhs, rhs);132}133134cv::GMat operator>=(const cv::GMat& lhs, const cv::GMat& rhs)135{136return cv::gapi::cmpGE(lhs, rhs);137}138139cv::GMat operator<(const cv::GMat& lhs, const cv::GMat& rhs)140{141return cv::gapi::cmpLT(lhs, rhs);142}143144cv::GMat operator<=(const cv::GMat& lhs, const cv::GMat& rhs)145{146return cv::gapi::cmpLE(lhs, rhs);147}148149cv::GMat operator==(const cv::GMat& lhs, const cv::GMat& rhs)150{151return cv::gapi::cmpEQ(lhs, rhs);152}153154cv::GMat operator!=(const cv::GMat& lhs, const cv::GMat& rhs)155{156return cv::gapi::cmpNE(lhs, rhs);157}158159cv::GMat operator>(const cv::GMat& lhs, const cv::GScalar& rhs)160{161return cv::gapi::cmpGT(lhs, rhs);162}163164cv::GMat operator>=(const cv::GMat& lhs, const cv::GScalar& rhs)165{166return cv::gapi::cmpGE(lhs, rhs);167}168169cv::GMat operator<(const cv::GMat& lhs, const cv::GScalar& rhs)170{171return cv::gapi::cmpLT(lhs, rhs);172}173174cv::GMat operator<=(const cv::GMat& lhs, const cv::GScalar& rhs)175{176return cv::gapi::cmpLE(lhs, rhs);177}178179cv::GMat operator==(const cv::GMat& lhs, const cv::GScalar& rhs)180{181return cv::gapi::cmpEQ(lhs, rhs);182}183184cv::GMat operator!=(const cv::GMat& lhs, const cv::GScalar& rhs)185{186return cv::gapi::cmpNE(lhs, rhs);187}188189cv::GMat operator>(const cv::GScalar& lhs, const cv::GMat& rhs)190{191return cv::gapi::cmpLT(rhs, lhs);192}193cv::GMat operator>=(const cv::GScalar& lhs, const cv::GMat& rhs)194{195return cv::gapi::cmpLE(rhs, lhs);196}197cv::GMat operator<(const cv::GScalar& lhs, const cv::GMat& rhs)198{199return cv::gapi::cmpGT(rhs, lhs);200}201cv::GMat operator<=(const cv::GScalar& lhs, const cv::GMat& rhs)202{203return cv::gapi::cmpGE(rhs, lhs);204}205cv::GMat operator==(const cv::GScalar& lhs, const cv::GMat& rhs)206{207return cv::gapi::cmpEQ(rhs, lhs);208}209cv::GMat operator!=(const cv::GScalar& lhs, const cv::GMat& rhs)210{211return cv::gapi::cmpNE(rhs, lhs);212}213214215