更改蒙版的颜色OpenCV 3

时间:2017-02-28 07:42:31

标签: java opencv

我想将黑色面具的颜色改为任何不同的颜色。

这是我的面具

enter image description here

这是我的原始图片

enter image description here

我知道如果我使用这个功能

src.copyTo(dst, mask);

它允许我正确使用蒙版并得到像这样的结果

enter image description here

然而,每当我将面具颜色更改为非黑色时,它都不会对dst Mat做任何事情。

有没有办法使用带有黑色遮罩的面具?

我不想使用循环功能,因为我知道它会花费我很多处理时间。

由于

2 个答案:

答案 0 :(得分:2)

我不编写Java,但您可以尝试使用C ++:

// assume that origin image has 3 channels
cv::Scalar myColor(255,0,255);  

// create dst with background color of your choice
cv::Mat dst(src.size(),src.type(),myColor);

// now copy
src.copyTo(dst, mask);

结果:

enter image description here

答案 1 :(得分:0)

您要寻找的是在面具和原始图像上执行的bitwise_and operation。如果我理解正确,没有理由改变面具的颜色。