我有一张灰度图像
我想将所有白色像素(纯白色 - 255)转换为黑色(0)
仅那些颜色,而不是所有灰度
我怎样才能做到这一点?
谢谢你!
罗恩
您可以执行以下操作。
-
使用阈值设置图像inRange() http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=inrange#cv2.inRange.
Mat image; // your original image
Mat mask;
void inRange(image, Scalar(255), Scalar(255), mask)
输出mask
将是一个二进制掩码,如果对应的像素在其中,则其像素设置为 255image
等于 255(也就是说,如果像素值在 255 和 255 之间,则包含边界)。
-
Copy black_image
(您想要的替代颜色)到原来的image
通过mask
using copyTo() http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=copy#void%20Mat%3a%3acopyTo%28OutputArray%20m%29%20const.
Mat black_image(image.size(), CV_8U, Scalar(0)); // all zeros image
black_image.copyTo(image, mask);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)