Get Real distance value in an image.

2 views (last 30 days)
After using the comparison method between two image, i want to detect the real length value of the red Lines. For example 5 cm. So i can know the distance the object has moved. Is it doable automatically ?
  2 Comments
jonas
jonas on 9 Aug 2018
Edited: jonas on 10 Aug 2018
Obviously you are going to need the scale. One pixel can be 1 km long, for all we know.
Oh, I didnt see the scale. It blends in with the background. Will be almost impossible to use in my layman opinion.
Theodor Al Saify
Theodor Al Saify on 12 Aug 2018
For example in the photo attached, can i detect the scale automatically ?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 Aug 2018
See my spatial calibration demo. It can do what you want. Adapt it as necessary.
  1 Comment
Theodor Al Saify
Theodor Al Saify on 13 Aug 2018
i already used it, but i don't know how to do it automatically, in your code the user draw a line to calibrate. in my case i want to detect the scale and auto-calibrate. I don't have the knowledge to do it, i am new to Matlab. Sorry for bothering.

Sign in to comment.

More Answers (1)

Florian Morsch
Florian Morsch on 10 Aug 2018
Edited: Florian Morsch on 10 Aug 2018
With a given reference its possible. Either calibrate your camera to that reference and dont move it afterwards or have a known scale on each image. That way you can tell what distance equals a pixel. Now you just have to count the pixels and can convert that to your distance.
And yes, you can do it automatically. If the camera is calibrated to the reference, just count the pixels and convert them. If you have a scale on each image, detect that scale, count the pixels and (since you know the real dimensions of the scale) use that to calculate the distance.
  6 Comments
Theodor Al Saify
Theodor Al Saify on 13 Aug 2018
For example in the picture attached , are the condition right ? the scale is different color than the background, and also the camera is always at the same position and height.
jonas
jonas on 13 Aug 2018
Yes, now you should be able to detect the scale. If I were you, I would pass the question to Image Analyst, as he will be able to give you the best guidance on what method to use. If you can segment the red color, then it should be easy to find the axes and count the number of pixels in the y- and x-directions.
You can start by looking at the demo on color segmentation by IA.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!