医学图像分割标准Dice与IoU

Dice

医学图像分割标准Dice与IoU_第1张图片
在这里插入图片描述
医学图像分割标准Dice与IoU_第2张图片

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()


医学图像分割标准Dice与IoU_第3张图片

你可能感兴趣的:(机器学习)