how to compare ground truth image with segmented image?
2 ビュー (過去 30 日間)
古いコメントを表示
BW2=imread('C2.png'); %segmented image
figure,imshow(BW2)
BW=imread('001_mask.png'); %groundtruth-image
figure,imshow(BW)
% mask = false(size(BW2));
% mask(25:end-25,25:end-25) = true;
% BW = activecontour(BW2, mask, 300);
similarity = jaccard (BW2, BW)
figure
imshowpair(BW2, BW)
title(['Jaccard Index = ' num2str(similarity)])
I am trying to find accuracy but got an error.
Undefined function 'jaccard' for input arguments of type 'uint8'.
Error in Untitled (line 8)
similarity = jaccard (BW2, BW)
what will be changed in this code?
2 件のコメント
Arslan Ahmed Awan
2019 年 10 月 22 日
You have to Install MATLAB R2017b because jaccard was introduced in Image Processing Toolbox of R2017b.
回答 (2 件)
Constantino Carlos Reyes-Aldasoro
2019 年 10 月 22 日
Jaccard index is the intersection (BW.*BW2) over the union (BW|BW2) or ((BW+BW2)>0), so you can calculate directly like this
sum(sum( BW.*BW2)) / sum(sum( BW|BW2))
Accuracy is different, that is how many pixels are exactly the same (including background)
sum(sum(BW==BW2)) / prod(size(BW))
0 件のコメント
Leandro Hidalgo Torres
2019 年 10 月 25 日
Hi,
Jaccard needs their arguments to be logical type. Check the data type of BW and BW2, surely they are uint8 type. If it's true, use BW=logical(BW) and the problem will be solved,
Best regards,
LH
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!