如何使用具有 alpha 颜色的圆形蒙版剪切图片?

how to cut picture with circle mask that has alpha color?

我有一个问题,我需要从这个输入开始:

第一个输入 src1 = input2.png :

将此 src2 = input2.png 用作遮罩:

得到这个输出:

我试过了,但我不知道外部颜色是 alpha 颜色(完全透明)有多具体,我最终要么是黑色,要么是白色。

src1 = cv2imread('input1.png')
src2 = cv2.imread('input2.png')
 

大小相同

print(src2.dtype)
# uint8

dst = cv2.bitwise_and(src1, src2)

cv2.imwrite('res.jpg', dst)

这是 Python/OpenCV 中的一种方法。

只读第二张图片不变。然后将alpha通道从第二张图片复制到第一张图片。

图片 1:

图 2:

import cv2
import numpy as np

# read images
img1 = cv2.imread('picture1.png')
img2 = cv2.imread('picture2.png', cv2.IMREAD_UNCHANGED)

# copy alpha from second image to first image
result = img1.copy()
result = cv2.cvtColor(result, cv2.COLOR_BGR2BGRA)
result[:,:,3] = img2[:,:,3]

# save results
cv2.imwrite('picture1_circled.png', result)

结果: