Dice
import numpy as np
a=np.ones((10,5))
b=np.zeros((10,5))
A = np.c_[a,b,b,b,b] #区域是10*5,两边补0
B = np.c_[b,b,a,b,b]
iou =[]
dice =[]
for i in range(20):
A[:,[i,i+5]] = A[:,[i+5,i]] #A向右移动
interArea =np.multiply(A,B) #交集
tem =A + B
unionArea = tem - interArea #并集
inter=np.sum(interArea)
union=np.sum(unionArea)
dice_tem = inter * 2 / (5 * 10 * 2)
iou_tem = inter / union
iou.append(iou_tem)
dice.append(dice_tem)
from matplotlib import pyplot
import matplotlib.pyplot as plt
x=range(len(dice))
plt.plot(x, iou, mec='r', mfc='w',label='IoU')
plt.plot(x, dice, mec='b', mfc='w',label='Dice')
plt.legend()