Obtaining coordinate values within circular ROI
4 views (last 30 days)
Show older comments
Hello all,
I have a function that receives xlist (vector of row coordinates) and ylist (vector of column coordinates) as inputs. I would like create another function that allows users to just select a starting coordinate (x, y) and it will capture all coordinates within a circular region of radius r (predefined) in the format of xlist and ylist.
My image is always 512*512 (grayscale CT). How do I do this?
Thank you so much!
1 Comment
Michael Werthmann
on 28 Feb 2019
Hello Brian,
I have a similar problem. Die you manage to solve yours?
Regards
Michael
Answers (1)
KSSV
on 28 Feb 2019
Check this demo example:
I = imread('cameraman.tif') ;
[ny,nx] = size(I) ;
C = input('Enter center of circle C(x,y), should be less then 256:','s') ;
R = input('Enter Radius of circle:','s') ;
%
C = str2num(C) ;
R = str2num(R) ;
%
th = linspace(0,2*pi) ;
xc = C(1)+R*cos(th) ;
yc = C(2)+R*sin(th) ;
[X,Y] = meshgrid(1:nx,1:ny) ;
idx = inpolygon(X(:),Y(:),xc,yc) ;
I(~idx) = 255 ;
imshow(I)
See Also
Categories
Find more on Image Segmentation and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!