如何比较OpenCV中的标量

E_l*_*ner 3 c++ comparison scalar opencv for-loop

我有一个名为"myClass"的类,它返回"cv :: Scalar"类型,我想这样做:

cv::Scalar myValue; 
for ( myValue > myClass (i,j) )
.... 
Run Code Online (Sandbox Code Playgroud)

但是"for"行中的比较部分给出了错误,说"没有运算符>匹配这些操作数".有人能帮助我吗?谢谢.

Jav*_*ock 6

为了完成Zhi Lu的回答:

如果你想比较Scalar的一个元素,你应该做下一个:

cv::Scalar scalar(myValue);   //here you assign a value to the element (0,0)
for (scalar.val[0,0] > myClass (i,j)) // access the elment of Scalar
{
}
Run Code Online (Sandbox Code Playgroud)

无论如何,如果您只想要一个值,那么使用Scalar是没有意义的.并且还要注意,你需要一个适当的for循环表达式

for(i = 0; i < 0; i++){}
Run Code Online (Sandbox Code Playgroud)


Zhi*_* Lu 5

标量是一个四双元素阵列.您可以在此类结构中存储任意数量的元素(双精度类型).因此,您无法直接将标量的一个实例与int类型的实例进行比较.