【问题标题】:[Image Processing]Thresholding Not Ignoring the transparent pixels[图像处理]阈值不忽略透明像素
【发布时间】:2015-01-23 10:39:22
【问题描述】:

目前我正在尝试借助图像分割方法裁剪面部和头发,然后我将所有非彩色像素设置为透明,然后我尝试应用Binary Threshold 技术和Adaptive Threshold .但我得到了不理想的结果。不幸的是,OpenCV 方法没有忽略透明像素,并且在文档中没有定义如何处理这种情况,感谢任何有经验的帮助(但是,如果我得到所需的结果,我可以用颜色值替换透明像素)

Image 1.png(透明背景的原始图像)

Image2.png(应用简单二进制阈值后的图像)

Image3.png(自适应阈值后的图像)

在图像的透明区域明显看到一些图像失真/噪点?

【问题讨论】:

  • 使用 alpha 通道创建一个binary 8 bit mask 并为所有函数使用mask 参数,如果它们允许这个参数或创建一个忽略透明度的临时图像.copyTo你的最终结果,使用mask

标签: image opencv image-processing


【解决方案1】:

而且我能够解决这个问题,我发布这个答案是为了帮助其他人用于教育目的,并且由于对这件事的澄清有限,所以黑客是将背景颜色更改为白色(它在我的情况下工作,但你当然可以选择其他一些背景颜色),所以现在我用 alpha 值 0 为所有像素着色,而着色不透明像素,然后应用所需的操作,并且输出符合预期:

然后应用更多的图像处理功能来创建这个图像:

【讨论】:

    猜你喜欢
    • 2014-10-25
    • 2015-12-07
    • 1970-01-01
    • 2014-01-14
    • 2018-08-21
    • 2023-01-17
    • 1970-01-01
    • 2011-03-22
    • 2013-03-11
    相关资源
    最近更新 更多