How to label shape
1 回表示 (過去 30 日間)
古いコメントを表示
S = imread('test.jpg'); S = im2bw(S); S2 = ~S; imshow(S2); S3 = bwlabel(S2); imagesc(S3); S4 = regionprops(S3,'MinorAxisLength','MajorAxisLength','Area','Perimeter','centroid'); for cnt = 1:length(S4) score1(cnt) = abs(1-(S4(cnt).MajorAxisLength-S4(cnt).MinorAxisLength)... /max([S4(cnt).MajorAxisLength,S4(cnt).MinorAxisLength])); score2(cnt) = abs(1 - abs(pi*((mean([S4(cnt).MajorAxisLength,... S4(cnt).MinorAxisLength]))/2)^2-S4(cnt).Area)/S4(cnt).Area); score3(cnt) = abs(1 - abs(pi*(max([S4(cnt).MajorAxisLength,... S4(cnt).MinorAxisLength]))-S4(cnt).Perimeter)/S4(cnt).Perimeter); end score = mean([score1;score2;score3]); imshow(S2) for cnt = 1:length(S4) text(S4(cnt).Centroid(1),S4(cnt).Centroid(2),num2str(score(cnt)),'color','red'); end
how to label the output result, if the score is higher than 0.92, then the object will have label circle. i try using if-else statement, but couldnt get it work.can someone help me.thank you
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Processing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!