在JAVA中仅显示检测到的区域,并遮住图像中的所有其他区域

在JAVA中仅显示检测到的区域,并遮住图像中的所有其他区域,java,javacv,skin,imagej,Java,Javacv,Skin,Imagej,我正在尝试将皮肤检测和viola-jones物体检测结合到我的应用程序中,以精确检测手部。我正在使用JAVACV 这就是我想做的 SkinImage = detect.skin(InputImage); 这将返回一个图像,其中皮肤区域标记为白色,所有其他区域标记为黑色,二值图像 在这之后,我想和“SkinImage”和“InputImage”,从中我应该得到一个只有皮肤区域可见的皮肤颜色和所有其他区域变黑的图像,就像对图像应用二值遮罩一样。所以问题是我该怎么做和这两张照片 我知道它可以

我正在尝试将皮肤检测和viola-jones物体检测结合到我的应用程序中,以精确检测手部。我正在使用JAVACV

这就是我想做的

    SkinImage = detect.skin(InputImage);
这将返回一个图像,其中皮肤区域标记为白色,所有其他区域标记为黑色,二值图像

在这之后,我想和“SkinImage”和“InputImage”,从中我应该得到一个只有皮肤区域可见的皮肤颜色和所有其他区域变黑的图像,就像对图像应用二值遮罩一样。所以问题是我该怎么做和这两张照片

我知道它可以在C++中用SimeSimult&=imPuimTime完成;p>
如何在JAVA中使用JAVACV或其他库(如ImageJ)执行此操作在ImageJ中,可以执行以下操作以将遮罩应用于RGB图像:

import ij.ImagePlus;
import ij.plugin.ImageCalculator;

[...]

ImageCalculator ic = new ImageCalculator();
ImagePlus imp3 = ic.run("AND create", imp1, imp2);
imp1
imp2
是的实例,
imp1
是原始图像(例如RGB),而
imp2
是二进制掩模图像

为了得到这段代码,我运行了进程>。。。在Java模式下运行(插件>宏>记录…)时