Java 更改遮罩OpenCV 3的颜色
我想把我的黑色面具换成不同的颜色 这是我的面具 这是我的原始图像 我知道如果我使用这个函数Java 更改遮罩OpenCV 3的颜色,java,opencv,Java,Opencv,我想把我的黑色面具换成不同的颜色 这是我的面具 这是我的原始图像 我知道如果我使用这个函数 src.copyTo(dst, mask); 它将允许我正确地使用面具,并产生这样的结果 但是,每当我将遮罩颜色更改为非黑色时,它不会对dstMat产生任何影响 有没有办法将面具与非黑色面具一起使用 我不想使用循环函数,因为我知道这会花费我很多处理时间 谢谢我不写Java,但你可以用C++试试: // assume that origin image has 3 channels cv::Scala
src.copyTo(dst, mask);
它将允许我正确地使用面具,并产生这样的结果
但是,每当我将遮罩颜色更改为非黑色时,它不会对dst
Mat产生任何影响
有没有办法将面具与非黑色面具一起使用
我不想使用循环函数,因为我知道这会花费我很多处理时间
谢谢我不写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);
结果是:
我不写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);
结果是:
您要查找的是对遮罩和原始图像执行的
按位\u和
。如果我理解正确,没有理由更改遮罩的颜色。您要查找的是对遮罩和原始图像执行的按位\u和
。如果我理解正确,就没有理由更改遮罩的颜色。不,没有理由仅将遮罩设置为二进制格式(0或255),我想知道您为什么需要更改遮罩的颜色?我需要更改遮罩的颜色,以移除背景并聚焦于roi。要求是自定义背景,因为roi上有时可能有黑色像素。我还想知道是否有一个小函数,我可以简单地将两个图像添加到一起,这样我就不必使用copyTo
函数来应用掩码。不过我不习惯使用这种操作。不,这里没有掩码应该是二进制格式的,(0或255),我想知道为什么你需要更改掩码的颜色?我需要更改掩码的颜色以移除背景并聚焦于roi。要求是自定义背景,因为roi上有时可能有黑色像素。我还想知道是否有一个小函数,我可以简单地将两个图像添加到一起,这样我就不必使用copyTo
函数来应用掩码。不过我不习惯使用这样的操作。如何在python中做到这一点?@AnnaVopureta注释中详细介绍了这些步骤。您可以尝试在Python中这样做。如果你被卡住了,请随意提出一个新问题。如何在python中做到这一点?@AnnaVopureta注释中详细介绍了这些步骤。您可以尝试在Python中这样做。如果你被卡住了,请随意提出一个新问题。