如何应用不是 cv2.THRESH_BINARY 掩码的掩码来覆盖带有 python-opencv 的原始图像?
How to apply the mask which is not a cv2.THRESH_BINARY mask to cover origin image with python-opencv?
蒙版边缘柔和,像这样:
在 photoshop 中使用此蒙版的结果是:
cv2.bitwise_and之后,结果太糟糕了!
我如何像 photoshop 一样处理这个,或者 python-opencv 中的任何其他方法都可以做到这一点?
谢谢!
如果你想要像photoshop中那样的透明效果,你需要使用alpha通道。参见 。
如果要将图像与另一个背景合成,可以使用 alpha 抠图公式 I = aF+(1-a)B
,其中 a
alpha,F
前景和 B
的背景。像这样:
ex_alpha = np.repeat(alpha[:, :, np.newaxis], 3, axis=2)
output = (foreground*ex_alpha) + (1-ex_alpha)*background
存在重复,因为 foreground/background 是 3 通道,而 alpha 是 1 通道。
蒙版边缘柔和,像这样:
在 photoshop 中使用此蒙版的结果是:
cv2.bitwise_and之后,结果太糟糕了!
我如何像 photoshop 一样处理这个,或者 python-opencv 中的任何其他方法都可以做到这一点?
谢谢!
如果你想要像photoshop中那样的透明效果,你需要使用alpha通道。参见
如果要将图像与另一个背景合成,可以使用 alpha 抠图公式 I = aF+(1-a)B
,其中 a
alpha,F
前景和 B
的背景。像这样:
ex_alpha = np.repeat(alpha[:, :, np.newaxis], 3, axis=2)
output = (foreground*ex_alpha) + (1-ex_alpha)*background
存在重复,因为 foreground/background 是 3 通道,而 alpha 是 1 通道。