我在opencv代码中遇到过一次这个表达式:
Mat bimage = image >= sliderPos;
已知sliderPos
是整数。
这意味着什么。
提前致谢
附加:当然image
的类型是cv::Mat
答案 0 :(得分:3)
在不知道image
类型的情况下很难分辨,但根据OpenCV文档,我认为此行会将image
转换为黑白图像,使用sliderPos
作为确定哪些像素为黑色的阈值。
来自the OpenCV documentation about matrices:
比较:一个cmpop B,一个cmpop alpha,alpha cmpop A,其中cmpop是 以下之一:>,> =,==,!=,< =,<。比较结果是8位 单通道掩码,其元素设置为255(如果特定的话 元素或元素对满足条件)或0。
答案 1 :(得分:1)
表达式
Mat bimage = image >= sliderPos;
测试image
是大于还是等于sliderPos
(通常产生bool
)并将测试结果分配给新创建的变量bimage
Mat
。
如果>=
的{{1}}运算符超载,则可能不会产生(decltype(image), int)
。如果是这种情况,请查看bool
类型的文档以获取详细信息。在任何情况下,它都可以产生一些东西,可以构造image
。