how to calculate perimeter on RGB picture??

3 views (last 30 days)
BSantos
BSantos on 1 Aug 2013
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.

Answers (2)

Image Analyst
Image Analyst on 1 Aug 2013
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 Comments
Image Analyst
Image Analyst on 1 Aug 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
BSantos on 2 Aug 2013
Thank you Image Analyst! I will give it a try.
Best regards, BS.

Sign in to comment.


BSantos
BSantos on 1 Aug 2013
Image Analyst,
Thank you but this doesn't help much. I can create the circle (or disk), the issue is for those pixels that are on the border (let's call it like that), in case of non integer radius.
Plus, I don't have Image Processing Toolbox, so I can't use most of the functions that could actually solve this in 10secs(??)!
Help anyone???

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!