Hi all:
I am trying to calculate perimeter of regions in binary image using matlab. I am using the following code:
perimeter_stats = regionprops(binary_image,'Perimeter');
allPerimeter= [perimeter_stats.Perimeter];
The problem is in the results. The image contains large regions but the calculated perimeter is small (e.g. 3.2092). Can anyone help me in getting the right values of perimeter?
Regards,
Safaa
Well you did something wrong. I doubt that the mean of allPerimeter is 3.2092 pixels. Why don't you list what allPerimeter is so I can see it. I would think that the minimum a perimeter could be is 1 pixel, but it's typically in the hundreds or thousands, not 3 unless your binary image is just a single dot.
Did you notice the 1.0e003 in there? You multiply that by the numbers. This is not related to regionprops - that is how all of MATLAB works. So the actual perimeters are [3209.2, 802.9, 992.9, 189.5, etc. These are quite reasonable numbers. There is no problem at all.
So did that answer your question? Are you ready to mark this as "Answered", or is it still not solved for you?
0 Comments