Drawing a Cirlce on an Image using viscircles()
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (1)
KSSV
el 11 de Jun. de 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 comentarios
KSSV
el 12 de Jun. de 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.
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!