finding number of pixels inside each circle

조회 수: 15 (최근 30일)
Dhandapani.S
Dhandapani.S 2015년 1월 21일
댓글: Dhandapani.S 2015년 2월 1일
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
Image Analyst 2015년 1월 21일
What is a "pixel distribution ratio"?
Dhandapani.S
Dhandapani.S 2015년 1월 21일
편집: Image Analyst 2015년 1월 26일
say, for inner most circle, there may be 20% of the total pixels of the jpeg image. the next immediate outer circle may contain 40 % of the total jpeg image pixels. this is a kind of segmentation i think. please give me a solution. thank you in advance.

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
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
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);
Dhandapani.S
Dhandapani.S 2015년 2월 1일
dear image analyst, you have made the work with concentric circles and i got good results. i am trying with triangles, rectangles and spheres.but cannot accomplish. iget the error with bwboundaries. since bwboundaries is 2d i cannot make it up to sphere. please help me in rectangle and triangle.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Thorsten
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
Dhandapani.S
Dhandapani.S 2015년 1월 21일
thank you. i get 31417 for N. i have a jpeg image. i have to draw circles with different radius keeping the center point of the jpeg image as the circle center. i need to count the pixels in each circle and find the pixel ratio of the jpeg image in each circle. please help me.
Thorsten
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 CenterFile Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by