Drawing a Cirlce on an Image using viscircles()
5 ビュー (過去 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!