Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV中cv::Mat类中的布尔运算符_C++_Opencv_Operators_Boolean_Computer Vision - Fatal编程技术网

C++ OpenCV中cv::Mat类中的布尔运算符

C++ OpenCV中cv::Mat类中的布尔运算符,c++,opencv,operators,boolean,computer-vision,C++,Opencv,Operators,Boolean,Computer Vision,我正试图编写一个大型测试宏,对我的类行为(包括构造函数、析构函数)进行一些合理性检查。我的代码(部分)如下所示: TEST(basic_getters_setters_contructors) { // Macro name) myNameSpace::myClass mc(cv::Mat::ones(1,2,CV_32S),cv::Mat::zeros(4,8,CV_32S)); CHECK_EQUAL(false, mc.item1 == NULL); //.......

我正试图编写一个大型测试宏,对我的类行为(包括构造函数、析构函数)进行一些合理性检查。我的代码(部分)如下所示:

  TEST(basic_getters_setters_contructors) { // Macro name)

  myNameSpace::myClass mc(cv::Mat::ones(1,2,CV_32S),cv::Mat::zeros(4,8,CV_32S));
  CHECK_EQUAL(false, mc.item1 == NULL);
  //.......Rest of the checks
error C2678: binary '!': no operator found which takes a left-hand operand of type   
'cv::MatExpr' (or there is no acceptable conversion)

当我构建它时,我得到编译器错误:

  TEST(basic_getters_setters_contructors) { // Macro name)

  myNameSpace::myClass mc(cv::Mat::ones(1,2,CV_32S),cv::Mat::zeros(4,8,CV_32S));
  CHECK_EQUAL(false, mc.item1 == NULL);
  //.......Rest of the checks
error C2678: binary '!': no operator found which takes a left-hand operand of type   
'cv::MatExpr' (or there is no acceptable conversion)

我很确定错误来自那一行,而不是其他任何地方。我尝试使用intellisense,发现
mc.item1==NULL
作为
cv::MatExpr
对象计算。在
cv::MatExpr
类中有一个名为
flag
的公共成员。这是我应该检查的一个,看它是0(假)还是1(真)?或者有没有其他(具体的)方法

如果这是一个愚蠢的问题,请不要投票否决我:(。。。
亲切问候,

如果要检查矩阵是否已填充,则如果矩阵没有元素,则mymat.empty()将返回true。请参阅,我还找到了可能感兴趣的函数。请参阅。您忘了说明检查的目的。实际上,如果我这样做,请检查等于(false,&mc.item1==null)它可以工作!我想我需要引用它。@etarion谢谢你指出这一点,我正在检查类型为cv::Mat的item1是否为null。这证明了myClass实例存在/不存在!