我曾经在 opencv 代码中遇到过这个表达式:
Mat bimage = image >= sliderPos;
已知sliderPos是一个整数。
请问这是什么意思。
提前致谢
加法:当然类型image是cv::Mat
不知道 的类型很难判断image,但根据 OpenCV 文档,我认为这条线转换image为黑白图像,sliderPos用作确定哪些像素将是黑色的阈值。
比较:A cmpop B、A cmpop alpha、alpha cmpop A,其中 cmpop 是以下之一:>、>=、==、!=、<=、<。比较的结果是一个 8 位单通道掩码,其元素设置为 255(如果特定元素或元素对满足条件)或 0。
表达方式
Mat bimage = image >= sliderPos;
测试是否image大于或等于sliderPos(通常产生 a bool)并将测试结果分配给新创建bimage的类型变量Mat。
如果>=运算符重载 for (decltype(image), int),它可能不会产生bool. 如果是这种情况,请查看类型的文档以image获取详细信息。在任何情况下,它都会产生一些东西,从中Mat可以构造 a 。