how to calculate irregular shape area in the image

31 次查看(过去 30 天)
hi..i have i project that need me to detect and extract the irregular shape in the image.then i should to calculate the area in the unit cm.can you help me,how can i detect the irregular shape in the image automatic and how can i calculate that irregular shape area.i hope you can help me.Thank you.
  8 个评论

请先登录,再进行评论。

回答(3 个)

Florin Neacsu
Florin Neacsu 2012-1-4
Hi,
Given your example I would suggest this approach:
after your edge detection:
create structural element of radius 4 (or 5 or whatever works for you)
dilate your edge map
erode (with the same strel)
imclearborder
create metric to eliminate "noise" (you can do something similar to circle detection : perimeter/area)
determine the area (in pixels; you need to know the spatial resolution of your initial image to obtain it in cm2).
Hope this helps.
Regards, Florin
  10 个评论
Image Analyst
Image Analyst 2012-1-26
Have you imaged your known object yet? When you have, call improfile() to interactively get the length by calculating the two line endpoints that improfile will provide to you. Then you conversion factor is your real world length (e.g. 10 mm) divided by the number of pixels that the distance is.
Walter Roberson
Walter Roberson 2012-1-26
Urgency does not make the impossible possible.
Perhaps, though, it would be appropriate to ask about your accuracy goals. If your accuracy goals are not especially high, then you could make use of the average of the real-world measurements that have been studied; see http://uclue.com/?xq=4504

请先登录,再进行评论。


Image Analyst
Image Analyst 2011-12-28
You might be able to adapt my BlobsDemo tutorial to your image:
  11 个评论
norfaizayu
norfaizayu 2012-1-5
i cannot do the threshold..always error.what's mean for threshold?border clearing already there.sum for what?i didn't get the source code for area.can u help me?

请先登录,再进行评论。


Gyaneshwar dubacharla
how to find area from contour plots????
  1 个评论
Image Analyst
Image Analyst 2016-1-22
Contour() returns the coordinates. You could then use polyarea() or poly2mask() followed by regionprops().

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by