"regionprops" detecting one line only
    1 Ansicht (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Abdul Hannan Qureshi
 am 6 Jun. 2022
  
    
    
    
    
    Kommentiert: Abdul Hannan Qureshi
 am 6 Jun. 2022
            If anyone can identify why I am getting width of one line only.

L1 = bwlabel(s);
vislabels(L1)
k=regionprops(L1,'Area','Perimeter','Centroid');
score= (([k.Area])/([k.Perimeter]/2))
figure, imshow(s);
morespace=10;
for cnt = 1:width(k)
    text(k(cnt).Centroid(1),k(cnt).Centroid(2)+morespace,...
        num2str(score(cnt))+" sq cm",'FontSize',12,'color','red');
end
s.mat is attached. Kindly advise.
0 Kommentare
Akzeptierte Antwort
  Simon Chan
      
 am 6 Jun. 2022
        load('s.mat')
L1 = bwlabel(s);
%vislabels(L1);                                                 % Ignore the user created function
k=regionprops(L1,'Area','Perimeter','Centroid');
score= (([k.Area])./([k.Perimeter]/2));                         % Use ./ instead of /
figure, imshow(s);
morespace=10;   
for cnt = 1:length(k)                                           % Use length instead of width
    text(k(cnt).Centroid(1),k(cnt).Centroid(2)+morespace,...
        num2str(score(cnt))+" sq cm",'FontSize',12,'color','red');
end
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
