【问题标题】:Removing white background image from Watershed mask从分水岭蒙版中删除白色背景图像
【发布时间】:2014-02-18 19:47:55
【问题描述】:

我正在使用 OpenCV 的分水岭算法编写示例。我可以创建蒙版图像,但是,蒙版具有白色背景而不是透明背景。有没有办法删除这个白色背景并使其透明?我使用的代码如下:

Mat threeChannel = new Mat();

Imgproc.cvtColor(croppedImageMat, threeChannel, Imgproc.COLOR_BGR2GRAY);
Imgproc.threshold(threeChannel, threeChannel, 100, 255, Imgproc.THRESH_BINARY | Imgproc.THRESH_OTSU);

Mat fg = new Mat(croppedImageMat.size(), CvType.CV_8U);
Imgproc.erode(threeChannel, fg, new Mat(), new Point(-1, -1), 12);

Mat bg = new Mat(croppedImageMat.size(), CvType.CV_8U);
Imgproc.dilate(threeChannel, bg, new Mat(), new Point(-1, -1), 12);
Imgproc.threshold(bg, bg, 1, 128, Imgproc.THRESH_BINARY_INV);

Mat markers = new Mat(croppedImageMat.size(), CvType.CV_8U, new Scalar(0));
Core.add(fg, bg, markers);

WatershedSegmenter segmenter = new WatershedSegmenter();
segmenter.setMarkers(markers);
Mat result = segmenter.process(croppedImageMat);
Bitmap resultBmp = Bitmap.createBitmap(result.cols(), result.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(result, resultBmp);
Constants.writeBitmapToFile(resultBmp);

public class WatershedSegmenter {
    public Mat markers = new Mat();

    public void setMarkers(Mat markerImage) {
        markerImage.convertTo(markers, CvType.CV_32S);
    }

    public Mat process(Mat image) {
        Imgproc.watershed(image, markers);
        markers.convertTo(markers, CvType.CV_8U);
        return markers;
    }
}

我打算使用 Android 的 PorterDuff 模式通过将源图像和蒙版绘制到屏幕外画布来创建图像。如果我在这里做错了,请告诉我。

【问题讨论】:

标签: android opencv


【解决方案1】:

您可以使用二进制蒙版来获得透明效果。

只需使用此掩码将您的片段复制到背景。

参见方法 A.copyTo(B,mask);

如果你想获得半透明,你可以使用方程

R=fg.mul(mask)+bg.mul(1.0-mask);

在哪里

  • R - 结果矩阵 (CV_32FC1),
  • fg - 前景图像 (CV_32FC1),
  • bg - 背景图片 (CV_32FC1),
  • 蒙版 - 透明层 (CV_32FC1) 值范围应为 [0.0;1.0]

.

如果您想处理 3 通道图像,请使用 cv::split 方法,然后按照上述方法处理每个通道,然后使用 cv::merge 方法处理组合通道。

【讨论】:

    猜你喜欢
    • 2010-11-02
    • 2020-07-26
    • 1970-01-01
    • 2014-01-14
    • 2016-08-06
    • 2020-12-05
    • 2015-03-02
    • 2023-02-24
    相关资源
    最近更新 更多