how to calculate perimeter on RGB picture??

3 次查看(过去 30 天)
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.

回答(2 个)

Image Analyst
Image Analyst 2013-8-1
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 个评论
Image Analyst
Image Analyst 2013-8-1
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 2013-8-2
Thank you Image Analyst! I will give it a try.
Best regards, BS.

请先登录,再进行评论。


BSantos
BSantos 2013-8-1
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???

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by