OpenCV - 两个二进制图像的交集

22

假设我有两个大小相同的二进制图像。如何找到这两个二进制图像之间的交集?只有在这两个图像上坐标(位置)相同且是白色的像素(灰度值为255)才会在输出图像(交集)上显示为白色像素。


您可以使用&|运算符,如https://dev59.com/HWMl5IYBdhLWcg3w_rKD中所述。 - Ruwanka De Silva
2个回答

57

7
这是如何在Python中实现的(与上面的图片):
import cv2

img1 = cv2.imread('black_top_right_triangle.png',0)
img2 = cv2.imread('black_bottom_right_triangle.png',0)

img_bwa = cv2.bitwise_and(img1,img2)
img_bwo = cv2.bitwise_or(img1,img2)
img_bwx = cv2.bitwise_xor(img1,img2)

cv2.imshow("Bitwise AND of Image 1 and 2", img_bwa)
cv2.imshow("Bitwise OR of Image 1 and 2", img_bwo)
cv2.imshow("Bitwise XOR of Image 1 and 2", img_bwx)
cv2.waitKey(0)
cv2.destroyAllWindows()

如果您需要为Python安装OpenCV,可以按照这些指示来节省时间(安装过程一直很麻烦)。请参考这些指南

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接