how to calculate perimeter on RGB picture??
Mostrar comentarios más antiguos
Hello everyone!
I would like to ask for your help, once again!
In my project, I have to draw a circumference on a RGB picture, and calculate the intensity of that picture within that circumference (circle) and ON the circumference. The circle part, I can do it, but on the circumference not.
The issue is that, if the radius it's not an integer, the function does not count with the decimal part. Here's a picture to illustrate my issue.
Thanks!!!
BR,
BS.
Respuestas (2)
Image Analyst
el 1 de Ag. de 2013
0 votos
I don't know what "The circle part, I can do it, but on the circumference not." means. Do you have the coordinates of the outside perimeter (circumference) of the circle? If so, use poly2mask to create a binary image from it, then call regionprops and ask for MeanIntensity. It's like 2 lines of code.
4 comentarios
BSantos
el 1 de Ag. de 2013
Image Analyst
el 1 de Ag. de 2013
% Create a logical image of a circle with specified
% diameter, center, and image size.
% First create the image.
imageSizeX = 640;
imageSizeY = 480;
[columnsInImage rowsInImage] = meshgrid(1:imageSizeX, 1:imageSizeY);
% Next create the circle in the image.
centerX = 320;
centerY = 240;
radius = 100;
circlePixels = (rowsInImage - centerY).^2 ...
+ (columnsInImage - centerX).^2 <= radius.^2;
% circlePixels is a 2D "logical" array.
% Now, display it.
image(circlePixels) ;
colormap([0 0 0; 1 1 1]);
title('Binary image of a circle');
Then you calculate the mean intensity of the pixels within the circle like this:
meanWithinCircle = mean(grayImage(circlePixels));
Image Analyst
el 1 de Ag. de 2013
Responding to your Answer, if "within that circumference" actually means "on the perimeter" rather than "anywhere within the entire disk" then you can use the faq to get the perimeter pixels only, rather than a solid disc. Then use the same code. Nothing I gave in the code above is in the Image Processing Toolbox.
BSantos
el 2 de Ag. de 2013
BSantos
el 1 de Ag. de 2013
0 votos
Categorías
Más información sobre Labels and Annotations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!