考虑这两个数组:
a = np.array(
[
[
[1, 102, 103, 255],
[201, 2, 202, 255],
[201, 202, 202, 255]
],
[
[11, 120, 0, 255],
[0, 0, 0, 255],
[1, 22, 142, 255]
],
])
b = np.array(
[
[
[1, 102, 103, 255],
[201, 2, 202, 255]
],
[
[11, 120, 0, 255],
[221, 222, 13, 255]
],
[
[91, 52, 53, 255],
[0, 0, 0, 255]
],
])
a.shape # => (2, 3, 4)
b.shape # => (3, 3, 4)
我希望将
a
和b
叠加在0, 0
处,并输出一个掩码,表示当a
的值等于b
的值时。比较的值是完整的像素值,因此在这种情况下,[1, 102, 103, 255]
是一个值。像这样的输出掩码会很好:
result = np.array([
[
true,
true,
false
],
[
true,
false,
false
],
[
false,
false,
false
],
])
在我的情况下,完美的答案是匹配值变为
[255, 0, 0, 255]
,不匹配的值变为[0, 0, 0, 0]
。result = np.array([
[
[255, 0, 0, 255],
[255, 0, 0, 255],
[0, 0, 0, 0]
],
[
[255, 0, 0, 255],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
[
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
])
result.shape # => (3, 3, 4)
看起来是这样的:
[![a和b之间的差异][1]][1]