Borrar filtros
Borrar filtros

How to calculate the length of image?

2 visualizaciones (últimos 30 días)
Steven
Steven el 22 de Dic. de 2013
Editada: Steven el 26 de Abr. de 2016
Hi
Regarding the image below:
I want to calculate the length of the large black region, i.e., the perimeter of this region plus the length of the small white objects within it. How may I do so?
I know there are some functions for calculating the perimeter, but how to include the small objects?
Also please note that this is a binary image, but I can also do the calculations on grayscale image, if needed.
Thanks so much.
Steven

Respuesta aceptada

Image Analyst
Image Analyst el 22 de Dic. de 2013
Something is wrong with that image. I saved it but when I read it in it looks totally different. Anyway, you need to get the perimeters of everything with regionprops and sum them
measurements = regionprops(binaryImage, 'Perimeter');
allPerimeters = [measurements.Perimeter];
theSum = sum(allPerimeters);
But make sure the big perimeter is the inside one and not the outer edge of the image. If it is, then invert the image and fill holes before calling regionprops
binaryImage = imfill(~binaryImage, 'holes');
measurements = regionprops(binaryImage, 'Perimeter');
theBigPerimeter = measurements.Perimeter;
I can't really test it because, like I said, it seems the image is messed up.
  4 comentarios
Steven
Steven el 22 de Dic. de 2013
Thanks again.
I get (naturally!) three wide different values from three different codes.
How can I know which one is correct? (because yet I have no idea of the scales)
Thanks.
Steven
Image Analyst
Image Analyst el 22 de Dic. de 2013
There are different algorithms. Summing bwperim just sums up the pixels. regionprops computes the perimeter by calculating the distance between each adjoining pair of pixels around the border of the region. So the first method would have two pixels at 45 degrees to each other as a length of 2 while regionprops would give a distance of sqrt(2). You can use whichever method you like better. Optically the regionprops method is probably more accurate.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by