Numpy интерпретирует оператор xor (^
) как логический xor, подчиняясь:
X|Y|X^Y
0|0| 0
0|1| 1
1|0| 1
1|1| 0
Таким образом, вы можете переопределить логические массивы:
(img == 255) ^ (img2 != 0)
Пример:
>>> img == 255
array([[False, True, False],
[ True, False, False],
[False, False, False]])
>>> img != 0
array([[ True, True, True],
[ True, True, True],
[ True, True, True]])
>>> (img == 255) ^ (img2 != 0)
array([[False, False, True],
[ True, True, True],
[False, False, True]])
>>> ((img == 255) ^ (img2 != 0)).sum()
5
То есть 5
True
s в img
или img2
, которых нет в другом массиве с таким же индексом.
Обновление:
Если вам нужно число True
s в img
или img2
(т. Е. Такое же, как объединение двух наборов их True
координат). Затем используйте логическое или вместо: |
.