python-2.7 - bitwise_and 它是如何工作的?

标签 python-2.7 opencv bitwise-and

我想了解函数 cv2.bitwise_and(src1,src2,mask) 的工作原理。所以我尝试了这段代码:

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 操作。但我不明白为什么。

最佳答案

我认为您的理解是正确的,您只是将 bitwise_and 调用错了。使用

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

来自 the documentation , bitwise_and 的唯一强制参数是两个源图像。

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

给它第三个参数 (mask_bin),没有其他信息,它会默认将其视为第一个可选参数,即 dst,一个输出数组。您需要告诉他您希望 mask_bin 成为掩码可选参数。

替换此行会得到 [0,0,3],这是您应该期望的。

关于python-2.7 - bitwise_and 它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202067/

相关文章:

python - xpath 在此节点中不起作用

windows - 在 Windows 7 64 位上使用 MinGW gcc/g++ 编译 openCV 2.3.1 程序

python - 我可以根据已知比例的图像计算相机姿势吗?

python - OpenCV 3 Python - Haar Cascade Upper Body Detector 不适用于半身(腰部向上)照片?

php - 按位和在 PHP 中

javascript - 奇数测试

mysql - 如何在 MySQL Python 中创建字典中的字典?

python - 如何在数据帧命令中使用循环中的字符串?使用Python 3

Python:在关键字前后抓取文本

c - 按位运算符的幂 2 的模数?