【问题标题】:Displaying only the detected region and blacking out all other regions in an image in JAVA在 JAVA 中仅显示检测到的区域并将图像中的所有其他区域涂黑
【发布时间】:2013-09-16 03:30:15
【问题描述】:

我正在尝试在我的应用程序中结合皮肤检测和 viola jones 对象检测,以准确检测手部。我正在使用 JAVACV

这就是我想做的事情

    SkinImage = detect.skin(InputImage);

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

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

我知道它可以在 C++ 中使用 SkinImage &=InputImage;

如何使用 JAVACV 或 ImageJ 等其他库在 JAVA 中完成此操作

【问题讨论】:

    标签: java javacv skin imagej


    【解决方案1】:

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

    import ij.ImagePlus;
    import ij.plugin.ImageCalculator;
    
    [...]
    
    ImageCalculator ic = new ImageCalculator();
    ImagePlus imp3 = ic.run("AND create", imp1, imp2);
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2019-08-14
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      相关资源
      最近更新 更多