Python 查找numpy图像的重叠

Python 查找numpy图像的重叠,python,numpy,Python,Numpy,如果我有两个numpy阵列: a = np.array[[0,1,1], [0,1,0], [0,0,0]] b = np.array[[0,1,1], [0,0,1], [0,0,0]] 我如何找到它们之间的“重叠”,因此输出为: c = [[0,1,1], [0,0,0], [0,0,0]] 我有这个,但有没有一

如果我有两个numpy阵列:

a = np.array[[0,1,1],
             [0,1,0],
             [0,0,0]] 
b = np.array[[0,1,1],
             [0,0,1],
             [0,0,0]]
我如何找到它们之间的“重叠”,因此输出为:

c =         [[0,1,1],
             [0,0,0],
             [0,0,0]]  
我有这个,但有没有一种方法可以更快,因为我的阵列很大

c = a + b - 1
c[c<0] = 0
c=a+b-1

c[c如您的示例所示,如果数组中的值为0或1,则可以使用按位“和”运算符
&

In [3]: a
Out[3]: 
array([[0, 1, 1],
       [0, 1, 0],
       [0, 0, 0]])

In [4]: b
Out[4]: 
array([[0, 1, 1],
       [0, 0, 1],
       [0, 0, 0]])

In [5]: c = a & b

In [6]: c
Out[6]: 
array([[0, 1, 1],
       [0, 0, 0],
       [0, 0, 0]])

希望答案能对汉克斯有所帮助。事实证明,c=a==b实际上要快一点!@kezzos,这是相同的结果吗?如果值匹配,c=a==b将返回true,而c=a&b将在两者都为1的地方给出1。