finding number of pixels inside each circle
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dhandapani.S
le 21 Jan 2015
Commenté : Dhandapani.S
le 1 Fév 2015
i am drawing circles of different radius on a jpg image. how to find the number of pixels in each circle. i have to compare the pixel distribution ratio in each circle
3 commentaires
Réponse acceptée
Image Analyst
le 26 Jan 2015
I'm pretty sure I gave you the answer in your other question: http://www.mathworks.com/matlabcentral/answers/169093#comment_261946 How is this any different than that?
3 commentaires
Image Analyst
le 26 Jan 2015
Just try it and see. Create a mask for triangles with poly2mask().
xTriangle = [x1,x2,x3,x1]; % Make a list of the coordinates of the vertices.
yTriangle = [y1,y2,y3,y1];
[rows, columns, numberOfColorChannels] = size(yourImage);
binaryImage = poly2mask(xTriangle, yTriangle, rows, columns);
Plus de réponses (1)
Thorsten
le 21 Jan 2015
A well-known "approximation" is :-)
N = round(radius^2*pi)
You could also create a circle and count the pixels:
radius = 100;
x = [-radius: radius];
[X, Y] = meshgrid(x, x);
R = sqrt(X.^2 + Y.^2);
N = numel(find(R<=radius));
Both values are almost the same.
2 commentaires
Thorsten
le 26 Jan 2015
You can just use any other value for the radius, like
radius = 50;
and then compute the N to count the pixels in the circle of radius 50. Or what else do you need?
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!