How to calculate diameter from side view?

1 view (last 30 days)
Hi!
Imagine we have a side view of a circular object such as a coin. How can I accurately calculate the diameter of an object from side view image?
The simple thing is that the user determines the two sides (left and right) of the object as the diameter, but is there another way that MATLAB can detect it automatically and accurately?
Thanks!
Steven
  3 Comments
Jan
Jan on 6 Jan 2014
To calculate the diameter accurately, you need the parameter of the optical system and the distance also, when you want the real extent.
Steven
Steven on 7 Jan 2014
Thanks all. The sample is posted here.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 6 Jan 2014
I don't know what you mean by side view. Do you mean like front side and back side (head side and tail side), or do you mean like an "edge-on" view, so that it looks like a rod or stick? Either way, you need to get a binary image of the object and then use regionprops to get the length or diameter of it. Post an image so we can see it. regionprops gives the answer in pixels. If you need real world units, like Jan brought up, then see my attached spatial calibration demo, below in blue text.
  6 Comments
Steven
Steven on 7 Jan 2014
I am afraid I can't. Maybe I just crop it and adjust the contrast to do so.
Image Analyst
Image Analyst on 7 Jan 2014
How can you crop if you don't know what size it is yet? Anyway, adjusting contrast by a linear stretch like imadjust() or non-linearly with histeq() won't help at all. You'd need more sophisticated things, like morphological filters like imopen().

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!