finding number of pixels inside each circle
14 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2015-1-26
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 个评论
Image Analyst
2015-1-26
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);
更多回答(1 个)
Thorsten
2015-1-21
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 个评论
Thorsten
2015-1-26
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?
另请参阅
类别
在 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!