OpenCV 将特定像素值替换为 java 中的另一个值
OpenCV replacing specific pixel values with another value in 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。那么我该如何做类似于上面代码的事情,因为我需要没有零的 Mat 作为除数。
编辑 1:cv::threshold 不起作用,因为我的垫子是 CV_32S,所以数字可能是负数
您可能需要查看 OpenCV compare
API,使用 CMP_EQ
标志检查矩阵的每个元素与标量是否相等,这会产生一个二进制掩码稍后可以用作 src.setTo()
中的第二个参数
我阅读了如何在 Opebcv C++ 中替换特定像素值,如下面的代码
Mat src;
// ... src is CV_32S
double oldVal = 0.0;
double newVal = Double.MIN_VALUE;
src.setTo(newVal, src == oldVal);
但在阅读更多内容后,我发现 Mat 上的逻辑运算符不适用于 java。那么我该如何做类似于上面代码的事情,因为我需要没有零的 Mat 作为除数。
编辑 1:cv::threshold 不起作用,因为我的垫子是 CV_32S,所以数字可能是负数
您可能需要查看 OpenCV compare
API,使用 CMP_EQ
标志检查矩阵的每个元素与标量是否相等,这会产生一个二进制掩码稍后可以用作 src.setTo()