How to measure dimensions of region boundary plot?

2 vues (au cours des 30 derniers jours)
Mohsina Zafar
Mohsina Zafar le 11 Déc 2017
Commenté : Image Analyst le 1 Avr 2018
Hello,
I have an image (from MATLab example) and I want to know the number of pixels in/dimensions of the green boundary. As according to the code, the green boundary is overlaid on the image and is not a part of the image, I am unable to calculate its length or the number of pixels it has.
BW = imread('blobs.png');
Calculate boundaries.
[B,L,N] = bwboundaries(BW);
Display object boundaries in red and hole boundaries in green.
imshow(BW); hold on;
for k=1:length(B),
boundary = B{k};
if(k > N)
plot(boundary(:,2), boundary(:,1), 'g','LineWidth',2);
else
plot(boundary(:,2), boundary(:,1), 'r','LineWidth',2);
end
end
I want to make the green boundary a part of the image so that I can count its number of pixels too. Or any other way to do just that (measure the length of the green region).
Please help me in this regard.
Regards.

Réponse acceptée

Image Analyst
Image Analyst le 12 Déc 2017
Just get the size of boundary in the loop:
numPixels(k) = size(boundary, 1); % Count rows.
  3 commentaires
Antonio Morales
Antonio Morales le 31 Mar 2018
How could it be possible to get the area of the detected boundary? I am particularly interested in calculating the area to length ratio of all detected boundaries.
Thanks
Image Analyst
Image Analyst le 1 Avr 2018
Use polyarea(x, y)
area = polyarea(x, y);

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by