diameter of image (1024x1024 logical value)

2 views (last 30 days)
Hello I have a 104x1024 logical.
when i use imshow(figure) to display it, it looks something like this
how do i get the diameter calculated?
i had already thought about the area but i don't know how.
this is an edited polar plot image
Thanks a lot
  1 Comment
Rik on 3 Jul 2020
This is not a perfect circle, so which diameter do you want? Width, height, maximal, minimal, other?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 3 Jul 2020
You can get the Equivalent Circular Diameter from regionprops(). This is the diameter of the blob if you were to smoosh and mold that same shape into a perfectly circular shape. In other words, the diameter of a perfect circle with the same number of pixels as your irregularly shaped blob.
props = regionprops(mask, 'EquivDiameter');
% Extract it from the structure into a simple variable.
ecd = props.EquivDiameter % This is the "Equivalent Circular Diameter".

More Answers (1)

KSSV on 3 Jul 2020
Let A be your logical of 1024*1024
[y,x] = find(A) ; % get all th points with 1
C = [mean(x) mean(y)] ; % this gives the center of the region
% Get the boundary
idx = boundary(x,y) ;
bx = x(idx) ; by = y(idx) ;
% Get ditance
d = sqrt((C(1)-bx).^2+(C(2)-by).^2) ;
mind = min(d) ;
maxd = max(d) ;

Community Treasure Hunt

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

Start Hunting!