我正在尝试合并两张图片,这是从一个原始的片段。以下是两个部分的示例:
pic a

pic b

但当试图将它们结合起来时:
img_to_assemble = cv2.bitwise_xor(pic_a,pic_b)我得到以下错误:
在函数binary_op中,操作既不是‘数组op数组’(其中数组具有相同的大小和类型),也不是‘数组op标量’,也不是‘标量op数组’。
发布于 2018-04-21 17:01:46
为了执行您想要的,首先要确保您的图像具有相同的大小。
并将我执行cv2.bitwise_or()的两幅图像组合起来
python的代码:
img_a = cv2.imread("a.png", 1)
img_b = cv2.imread(".png", 1)
ret, thresh = cv2.threshold(img_b, 10, 255, cv2.THRESH_BINARY)
rows,cols,channels = img_b.shape
roi = img_a[0:rows, 0:cols ]
img2gray = cv2.cvtColor(img_b,cv2.COLOR_BGR2GRAY)
ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY)
mask_inv = cv2.bitwise_not(mask)
img1_bg = cv2.bitwise_and(roi, roi, mask = mask_inv)
img2_fg = cv2.bitwise_or(img_b, img_b, mask = mask)
dst = cv2.add(img1_bg,img2_fg)
img_a[0:rows, 0:cols ] = dst
cv2.imshow('res',img_a)以下是我得到的结果:

https://stackoverflow.com/questions/49957788
复制相似问题