安卓 OpenCV使用java中的另一个值替换特定像素值
我读到如何替换Opebcv C++中的特定像素值,就像下面的代码
Mat src;
// ... src is CV_32S
double oldVal = 0.0;
double newVal = Double.MIN_VALUE;
src.setTo(newVal, src == oldVal);
但在我读了更多之后,我发现Mat上的逻辑运算符在java上不起作用。所以我如何做类似于上面代码的事情,因为我需要一个不带零的矩阵作为除数
编辑1:cv::threshold不起作用,因为我的mat是cv_32S,所以数字可能是负数
# 1 楼答案
您可能需要查看OpenCV^{} API,使用
CMP_EQ
标志检查矩阵的每个元素与标量的相等性,这将生成一个二进制掩码,稍后可以用作src.setTo()
中的第二个参数