Pixel position of circle on image
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How to find and store in list(x1y1, x2y2, x3y3, ...... xnyn)all the pixel positions that a circle would cross, on an image, given only the center point (x,y) and radius of circle. There is no actual circle.
0 commentaires
Réponses (2)
Sven
le 21 Mar 2013
Modifié(e) : Sven
le 21 Mar 2013
Sangeeta, does this answer your question:
center = [25 30]; %XY location of circle center
radius = 15;
matSize = 50;
[X,Y] = meshgrid(1:matSize,1:matSize);
distFromCenter = sqrt((X-center(1)).^2 + (Y-center(2)).^2);
onPixels = abs(distFromCenter-radius) < 0.5;
[yPx,xPx] = find(onPixels); % THIS is your answer!
figure, plot(xPx,yPx,'g.', center(1),center(2),'ro')
rectangle('Position',[center-radius [2 2]*radius], 'Curvature',[1 1])
axis image
Image Analyst
le 19 Mai 2013
The answer to this is given in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_circle.3F
xCenter = 12;
yCenter = 10;
theta = 0 : 0.01 : 2*pi;
radius = 5;
x = radius * cos(theta) + xCenter;
y = radius * sin(theta) + yCenter;
plot(x, y);
axis square;
xlim([0 20]);
ylim([0 20]);
grid on;
0 commentaires
Voir également
Catégories
En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!