在JAVA中仅显示检测到的区域并使图像中的所有其他区域变黑

时间:2013-09-15 16:02:03

标签: java javacv skin imagej

我正在尝试将皮肤检测以及中提琴对象检测结合到我的应用程序中以准确检测手部。我正在使用JAVACV

这就是我想要做的事情

    SkinImage = detect.skin(InputImage);

这将返回一个图像,其中皮肤区域标记为白色,所有其他区域标记为黑色,二进制图像

在此之后我想和“SkinImage”和“InputImage”从中我应该得到一个图像,只有皮肤区域可见皮肤颜色,所有其他区域变黑,如应用二进制文件掩盖图像。所以问题是我如何和这两个图像??

我知道可以使用SkinImage& = InputImage;

在C ++中完成

如何使用JAVACV或其他库(如ImageJ

)在JAVA中执行此操作

1 个答案:

答案 0 :(得分:0)

在ImageJ中,您可以执行以下操作将蒙版应用于RGB图像:

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

[...]

ImageCalculator ic = new ImageCalculator();
ImagePlus imp3 = ic.run("AND create", imp1, imp2);

imp1imp2ImagePlus class的实例,imp1是原始图像(例如RGB),imp2是二进制掩码图像。

要获取此代码,我正在运行 Process>在 Java 模式下运行Image Calculator插件>宏>记录... )时macro recorder ...