Plot concentric circle on an image

41 views (last 30 days)
Hello, I wish to draw concentric circles on an image. The radius of each circle is known. The circles are to be plot on the specific position of picture whereby every circle has the same centre. How may i able to do it? The following syntax below is used to generate the concentric circles. I wish to do that on an image. Plus, the circles should be drawn on image with right scalling. Thank you.
%Syntax for concentric circles
theta = [-pi:pi/36:pi];
hold on;
for r=[5,10,15]
plot(r * cos(theta), r * sin(theta))
end

Accepted Answer

KSSV
KSSV on 9 Jun 2021
I = imread('peppers.png') ;
[m,n,p] = size(I) ;
C = round([n m]/2) ; % center of circle
th = linspace(0,2*pi) ;
imshow(I)
hold on
% draw concentric circle
for r = 5:5:50
x = C(1)+r*cos(th) ;
y = C(2)+r*sin(th) ;
plot(x,y)
end
  6 Comments
Image Analyst
Image Analyst on 9 Jun 2021
Like
for radius = 5 : 5 : 50
message = sprintf('Click where you want the center to be');
uiwait(helpdlg(message));
[xCenter, yCenter] = ginput(1);
x = radius * cos(th) + xCenter;
y = radius * sin(th) + yCenter;
plot(x, y, '-');
end

Sign in to comment.

More Answers (0)

Categories

Find more on Formatting and Annotation 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!