根据PASCAL challenges的标准:intersection-over-union score,所写的matlab评价程序,处理二值图像。
其思想即分割结果与Ground Trueth的交集比上它们的并集,即为分割的准确率,代码如下:
1 function performance =get_performance_iou_binary(ImgResult, ImgGT) 2 3 % background color & foreground 4 bg_color = 0 ; 5 fg_color = 255 ; 6 7 % check the size 8 [rh rw rd] = size(ImgResult); 9 [gh gw gd] = size(ImgGT); 10 11 if rh~=gh || rw~=gw || rd~=gd 12 return; 13 end 14 15 % performance by intersection-over-union 16 intersection=0; 17 unionsection=0; 18 19 for i=1:rh 20 for j=1:rw 21 if ImgResult(i,j)==fg_color && ImgGT(i,j)==fg_color 22 intersection=intersection+1; 23 end 24 if ImgResult(i,j)==fg_color || ImgGT(i,j)==fg_color 25 unionsection=unionsection+1; 26 end 27 end 28 end 29 30 if unionsection==0 31 performance=100; 32 else 33 performance=100*intersection/unionsection; 34 end 35 36 end