直接上代码:
# encoding: utf-8
import numpy as np
a = np.array([
[0, 1, 1, 0],
[0, 0, 1, 0],
[0, 0, 0, 0],
[0, 1, 1, 0],
])
b = np.array([
[0, 1, 0, 0],
[1, 1, 1, 0],
[0, 1, 1, 0],
[0, 0, 1, 0],
])
# 交集:与操作
i = np.bitwise_and(a, b)
print(" --------- Intersection --------- ")
print(i)
# 并集:或操作
u = np.bitwise_or(a, b)
print(" --------- Union --------- ")
print(u)
i_num = len(i[np.where(i == 1)])
u_num = len(u[np.where(u == 1)])
iou = i_num / u_num
print(" --------- IOU --------- ")
print(iou)
# 补集 -- 全部不一样的点标记 (交集i, 并集u, 补集c)
print(" --------- Complementary --------- ")
c = np.bitwise_xor(u, i)
print(c)