Drawing a Cirlce on an Image using viscircles()
조회 수: 6 (최근 30일)
이전 댓글 표시
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
답변 (1개)
KSSV
2020년 6월 11일
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
KSSV
2020년 6월 12일
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!