draw circle on image
Show older comments
I want to draw a circle with centre at centre of given image. Image get displayed but circle is missing. Without using hold on/off, a separate figure window shows circle, but i want the circle on the image. Plz correct the following code.
imshow(PICpng);
centx = x / 2;
centy = y / 2;
r = 10;
hold on;
theta = 0 : (2 * pi / 10000) : (2 * pi);
pline_x = r * cos(theta) + centx;
pline_y = r * sin(theta) + centy;
k = ishold;
plot(pline_x, pline_y, '*');
hold off;
5 Comments
Spandan Tiwari
on 20 Mar 2013
Edited: Spandan Tiwari
on 20 Mar 2013
FYI, there's a function in the Image Processing Toolbox called VISCIRCLES which can be used for drawing circles. The basic syntax takes the centers and radii of the circles and draws them.
sangeeta
on 21 Mar 2013
Image Analyst
on 21 Mar 2013
Edited: Image Analyst
on 21 Mar 2013
Spandan, does the help's "See also" connect to other toolboxes? If so, then the help for rectangle(), which people usually use to draw circles, should mention viscircle().
Accepted Answer
More Answers (1)
Muhammad Nauman Arshad
on 19 Feb 2020
ICpng = imread('peppers.png');
[rows columns numberOfColorChannels] = size(PICpng)
x = columns/2
y = rows/2
imshow(PICpng);
centx = x / 2;
centy = y / 2;
r = 60;
hold on;
theta = 0 : (2 * pi / 10000) : (2 * pi);
pline_x = r * cos(theta) + centx;
pline_y = r * sin(theta) + centy;
k = ishold;
plot(pline_x, pline_y, 'r-', 'LineWidth', 3);
hold off;
Categories
Find more on Particle & Nuclear Physics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
