首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python bitwise_xor

python bitwise_xor
EN

Stack Overflow用户
提问于 2018-04-21 16:20:26
回答 1查看 4K关注 0票数 3

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

pic a

pic b

但当试图将它们结合起来时:

代码语言:javascript
复制
img_to_assemble = cv2.bitwise_xor(pic_a,pic_b)

我得到以下错误:

在函数binary_op中,操作既不是‘数组op数组’(其中数组具有相同的大小和类型),也不是‘数组op标量’,也不是‘标量op数组’。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 17:01:46

为了执行您想要的,首先要确保您的图像具有相同的大小。

并将我执行cv2.bitwise_or()的两幅图像组合起来

python的代码:

代码语言:javascript
复制
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)

以下是我得到的结果:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49957788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档