使用OpenCV Python,如何使所有黑色像素透明,然后将其覆盖在原始图像上

jmhead:

我正在尝试制作一个彩色的面具,白色的。我的想法是:

  • 使遮罩中的黑色像素透明
  • 合并两个图像
  • 裁剪图像

这样我原来的蒙​​版区域就​​会变成白色。我需要哪种OpenCV python代码/方法?

像这样:

原版的

原版的

面具

面具

所需结果(模拟-没有绿色边缘)

所需结果(模拟-没有绿色边缘)

代替

代替

Dschoni:

我想做一个颜色阈值来获得面具本身。我第一次使用Hue 43-81,饱和度39-197和Brightness从115-255进行了快速而肮脏的尝试,结果是:在此处输入图片说明

下一步是填充面罩内部的整体填充算法。请注意,右侧也选择了一个小区域。

在此处输入图片说明

下一步是减去两个结果(mask-filled_mask):

在此处输入图片说明

再次填充整个区域,并消除带有二进制开口的嘈杂像素:

在此处输入图片说明

最后用创建的遮罩遮罩图像。

在此处输入图片说明

可以调整每个步骤以产生最佳结果。最好尝试一下这些步骤(例如,使用imageJ)以设置您的工作流程,然后在python / openCV中编写步骤脚本。

另请参阅http://fiji.sc/Segmentation

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

像素化ROI边界框,并使用OpenCV将其覆盖在原始图像上

如何在opencv上计算直方图而不考虑图像上的所有黑色像素(由于遮罩)

使用C ++(OpenCV)删除所有黑色像素并仅获取所需的图像

使用OpenCV计算Python中图像中黑色像素的数量

如何使用opencv从图像中删除黑色背景并使之透明?

如何删除图像中的所有黑色像素,仅使用图像中的唯一RGB值

opencv:如何將所有黑色像素轉換為透明並將其保存為 png 文件

OpenCV在图像上绘制黑色像素

使用python查找图像中黑色/灰色像素的所有坐标

如何在Python中使用OpenCV裁剪图像的黑色背景?

OpenCV / python:如何使用公式更改图像像素的值?

使用 Opencv。如何增加用黑色(0)填充新像素的图像的大小?

使用python opencv将二进制图像中的黑色像素转换为红色

OpenCV:使用Trimap图像

使用OpenCV分割图像

如何增强图像,然后使用Python和OpenCV将其转换为二进制图像?

openCV:如何使用getPerspectiveTransform

OpenCV:如何使用createBackgroundSubtractorMOG

从Python使用OpenCV TLD

OpenCV使用黑色边条捕获图像

如何使用OpenCV图像遮罩

OpenCV使用python识别图像

OpenCV使用Python拉直图像

在Python中使用OpenCV将图像与另一个包含黑色像素的非矩形图像重叠

如何使用opencv在图像上产生眩光

使用opencv和python的图像中所有颜色的列表

如何应用不是 cv2.THRESH_BINARY 掩码的掩码来使用 python-opencv 覆盖原始图像?

除去使用Python的OpenCV图像的黑色标头部分

在OpenCV C ++中将图像的所有白色像素更改为透明