How to measure circularity??
16 views (last 30 days)
Show older comments
Nisreen Sulayman
on 20 Dec 2014
Answered: yousra zafar
on 21 Nov 2019
How to measure circularity ? What is wrong in this code?
CC=bwconncomp(BW); %BW binary image
labeled=labelmatrix(CC);
stats = regionprops(CC, 'all');
stats.circularity = ((stats.Perimeter) .^2 )./ (4*(pi*(stats.Area)))
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/146543/image.jpeg)
Accepted Answer
Image Analyst
on 20 Dec 2014
You didn't use brackets. Try it this way
allPerimeters = [stats.Perimeter];
allAreas = [stats.Area];
allCircularities = allPerimeters .^ 2 ./ (4 * pi* allAreas);
12 Comments
More Answers (6)
Matt J
on 21 Dec 2014
It might also be useful to check whether the Eccentricity and Solidity of a region are above a certain threshold.
6 Comments
Image Analyst
on 22 Dec 2014
You can look at my code in my answer where the blobs are labeled with their number in the first figure, and then each blob is cropped out to a separate image with the blob number in the title above the blob.
Nisreen Sulayman
on 19 Jan 2015
12 Comments
Image Analyst
on 21 Jan 2015
First segment the image to get a binary mask of that thing. Then mask it
red = grayImage;
red(mask) = 255;
green = grayImage;
green(mask) = 0;
blue = grayImage;
blue(mask) = 0;
rgbImage = cat(3, red, green, blue);
imshow(rgbImage);
Nisreen Sulayman
on 29 Jan 2015
Edited: Nisreen Sulayman
on 29 Jan 2015
7 Comments
murk hassan memon
on 4 Apr 2018
stats.circularity = ((stats.Perimeter) .^2 )./ (4*(pi*(stats.Area))) i am getting an error of this sign ^ as such the error is too many input argument.. is there any other method to find the circularity ? if yes? then kindly help me out
Matt J
on 4 Apr 2018
@murk,
You have multiple objects in "stats" so you need to do something like,
result = ([stats.Perimeter] .^2 )./ (4*(pi*[stats.Area]))
Souhardya Roy
on 6 Jul 2018
The formula is inverse of what is given.
2 Comments
yousra zafar
on 19 Nov 2019
can you share the code for finding circular objects . i am also working on aneurysm detection. any guidance from your side will he highly appreciated
yousra zafar
on 21 Nov 2019
i,m unable to run the code text.m attcahed above, getting error : file not found , can you share with me the image C:\Users\Rose\Documents\Temporary\im.jpg
0 Comments
See Also
Categories
Find more on Image Segmentation and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!