Drawing a Cirlce on an Image using viscircles()
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dear all,
I am trying to put a circle at the center of an image using the folowing code.
clear;clc;
Image = imread('cameraman.tif');
M = 128; % cirlce array length
D = 0.5; % diameter
Pupil = (-fix(M/2):fix((M-1)/2));
figure(1)
imshow(Image)
viscircles([xPupil' xPupil'],D/2.*ones(M,1))
But it looks a pipe from the left corner of the image. I am using 2019a version of Matlab.
I would aprreciate if someone can fix this issue.
Thanks in advance.
0 Commenti
Risposte (1)
KSSV
il 11 Giu 2020
You can draw circle using the below code if center C and radius R of the circle are known.
C = rand(1,2) ; % center of cricle
R = 1. ; % radius of the circle
m = 100 ;
th = linspace(0,2*pi,m) ;
x = C(1)+R*cos(th);
y = C(2)+R*sin(th) ;
plot(x,y)
2 Commenti
KSSV
il 12 Giu 2020
Why not use the above code, provide center and radius, you can plot circle on the image. To draw a mask, get the indices lying inside the circle using inpolygon and make those indices zero.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!