elm*_*ass 6 c++ opencv replace pixel colors
我想在图像中检测特定像素值(假设无符号8位1通道图像中的128),cv::Mat并将具有该特定值的所有像素的值替换为另一个值(用120替换每个128).有没有有效的方法呢?或者我应该逐像素地执行搜索和断言操作?
我开始编码但无法完成.这是我的代码的一部分:
cv::Mat source;
unsigned oldValue = 128;
unsigned newValue = 120;
cv::Mat temp = (source == oldValue);
Run Code Online (Sandbox Code Playgroud)
Mik*_*iki 11
你可以使用setTo面具:
Mat src;
// ... src is somehow initialized
int oldValue = 128;
int newValue = 120;
src.setTo(newValue, src == oldValue);
Run Code Online (Sandbox Code Playgroud)