首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bitwise_and,它是如何工作的?

bitwise_and,它是如何工作的?
EN

Stack Overflow用户
提问于 2017-04-04 08:32:23
回答 1查看 1.5K关注 0票数 1

我试图了解函数cv2.bitwise_and(src1,src2,掩码)是如何工作的。所以我尝试了这个代码:

代码语言:javascript
复制
src1=np.array([1, 2, 3])

src1=np.uint8(src1)

mask=np.array([1,1,4])

mask=np.uint8(mask)

_, mask_bin= cv2.threshold(mask,3,1,cv2.THRESH_BINARY)

res=cv2.bitwise_and(src1,src1,mask_bin)

从文档中我了解到,如果mask[I]不等于零,就会执行and操作。但我不明白为什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 08:48:03

我认为你的理解是正确的,你只是说bitwise_and错了。使用

代码语言:javascript
复制
res=cv2.bitwise_and(src1,src1,mask=mask_bin)

文献资料中,bitwise_and唯一的强制参数是两个源图像。

cv2.bitwise_and(src1,src2[,dst,掩码])→dst

给它一个没有其他信息的第三个参数(mask_bin),默认情况下,它将把它作为第一个选项参数,即dst,一个输出数组。你需要告诉他,你想让mask_bin成为备选论点的面具。

替换这一行将给出[0,0,3],这正是您应该期望的。

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

https://stackoverflow.com/questions/43202067

复制
相关文章

相似问题

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