【发布时间】:2021-06-25 04:11:22
【问题描述】:
想要两个图像,其中我有一个掩码堆叠在另一个图像之上。但这样做时,我不希望将两张图像混合在一起,而是将最终图像像图层一样堆叠在一起
这是我的原始图片
蒙版图像
代码
import cv2
import numpy as np
image = cv2.imread('test72.jpg')
image2 = cv2.imread('test63.jpg')
blank = np.full((image.shape[0], image.shape[1], 3), (255,255,255), np.uint8)
circle = cv2.circle(blank, (300,300), 10, (0, 0, 0), thickness= 100)
blur = cv2.blur(circle, (50, 50), 0)
subtract = cv2.subtract(image, blur)
blended = cv2.addWeighted(image2, 1, subtract, 1, 0)
cv2.imwrite('mask.jpg', subtract)
cv2.imwrite('blend.jpg', blended)
cv2.waitKey(0)
cv2.destroyAllWindows()
这是添加函数 cv2.addweighted 时的结果,这会导致香蕉混合在鞋子中,我可以在 OpenCv 中使用另一个函数来制作这个堆栈而不是混合吗?
【问题讨论】:
-
您能否在 Photoshop 或 GIMP 中模拟所需的结果,以便我们知道目标是什么?一个人的"stack"是另一个人的"merge"是另一个人的"blend"是另一个人的"smush"....
-
@MarkSetchell 也许他想要的是在未经审查的情况下展示鞋内的香蕉(没有双关语:D)