Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改遮罩OpenCV 3的颜色_Java_Opencv - Fatal编程技术网

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中这样做。如果你被卡住了,请随意提出一个新问题。