How to measure circularity??

12 次查看(过去 30 天)
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)))
  1 个评论
Nisreen Sulayman
Nisreen Sulayman 2014-12-21
what are the all possible features I can use to pick the smallest circular-like component ??

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2014-12-20
You didn't use brackets. Try it this way
allPerimeters = [stats.Perimeter];
allAreas = [stats.Area];
allCircularities = allPerimeters .^ 2 ./ (4 * pi* allAreas);
  12 个评论
Image Analyst
Image Analyst 2014-12-22
You're welcome. My email is not necessary.
Hossain Md Shakhawat
How can I find the glcm features for the detected blobs.

请先登录,再进行评论。

更多回答(6 个)

Matt J
Matt J 2014-12-21
It might also be useful to check whether the Eccentricity and Solidity of a region are above a certain threshold.
  6 个评论
Image Analyst
Image Analyst 2014-12-22
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
Nisreen Sulayman 2014-12-22
编辑:Nisreen Sulayman 2014-12-23
thank you very much ... thank you

请先登录,再进行评论。


Nisreen Sulayman
Nisreen Sulayman 2015-1-19
Hi Mr. Image Analyst,
I am working on the code that you have written "test.m", I want to display more properties of the blobs in the image ... 'MajorAxisLength', 'MinorAxisLength', 'Orientation' ... After that I want to copy these values to a doc file
I have modified the code but it didn't work
  12 个评论
Image Analyst
Image Analyst 2015-1-21
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
Nisreen Sulayman 2015-1-22
Thank you very much Mr. Analyst,
I am grateful for your help.

请先登录,再进行评论。


Nisreen Sulayman
Nisreen Sulayman 2015-1-19
I have apllied the code. How can I display the round objects in the original images in different color instead of drawing a circle around them???

Nisreen Sulayman
Nisreen Sulayman 2015-1-29
编辑:Nisreen Sulayman 2015-1-29
How can I index images according to the resulted segmented image? Is there any thing related to build a database using MATLAB?
Any example or link about this?
  7 个评论
murk hassan memon
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
Matt J 2018-4-4
@murk,
You have multiple objects in "stats" so you need to do something like,
result = ([stats.Perimeter] .^2 )./ (4*(pi*[stats.Area]))

请先登录,再进行评论。


Souhardya Roy
Souhardya Roy 2018-7-6
The formula is inverse of what is given.
  2 个评论
yousra zafar
yousra zafar 2019-11-19
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
yousra zafar 2019-11-21
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

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by