我正在尝试制作一个白色的彩色面具。 我的想法是:
所以我的原始蒙面区域将是白色的。 我需要什么样的OpenCV python代码/方法?
像这样:
原始
面膜
期望的结果(模拟 - 没有绿边)
而不是
答案 0 :(得分:2)
我假设你的面具是一个布尔numpy数组,你的2个图像是numpy数组image1和image2。
然后你可以使用布尔数组作为乘数。
overlay= mask*image1 + (-mask)*image2
所以你得到了#34; True"来自image1的像素和来自image2的假像素
答案 1 :(得分:2)
我想要做一个颜色阈值来获取蒙版本身。 我用Hue 43-81,饱和度39-197和亮度115-255进行第一次快速而肮脏的尝试得到的结果是:
下一步是填充算法以填充蒙版内部。请注意,也选择了右侧的一个小区域。
下一步是两个结果的减法(mask-filled_mask):
再次填充整体并用二进制打开摆脱嘈杂的像素:
最后使用创建的蒙版掩盖图像。
可以调整每个步骤以产生最佳结果。一个好主意是尝试执行这些步骤(例如使用imageJ)来设置工作流程,然后编写python / openCV中的步骤脚本。