MATLAB Answers


Can I get distance to an object using single camera

Asked by Ashmil Mohammed on 10 Jun 2015
Latest activity Commented on by Ashmil Mohammed on 11 Jun 2015
Is there anyway I can find the distance to an object from a camera image? actual size of object,and perpendicular distance between camera and object is also known. (object-->on ground & camera-->above ground). I went through all the previous questions and their answers.No clear cut solution was found. Please help me...


Sign in to comment.

1 Answer

Answer by Image Analyst
on 10 Jun 2015
 Accepted Answer

Depends on the camera. If it's a Lytro/lightfield camera or some other kind of multi-lens camera, or a Kinect camera, then yes. Otherwise no. If I have a photo of the moon, how do I know if it's the real moon that you snapped through a telescope, or a photo you took of a poster of the moon on your office wall? You don't.


Thanks for your time and reply sir. In the given image ,I know the dimension of the ball , say 6cm , using the code you provided, the length of the mobile phone is 11.6 while actually it is around 13. Error in measuring seem to be very large when the reference object and object to be measured are even farther.
  • My actual setup will be a camera mounted around 2.5 metre above ground and objects will be on the ground.
  • The system will monitor a 220x150 rectangular area
Yes. It just gives you the measurement for the actual distances you measure. For that phone, you could probably pick a variety of places to measure between and get a variety of lengths. Also, if your objects are not in same plane, the spatial calibration will be different. For example that panel on the wall is only half as wide (in pixels in the image) as the 6 cm ball but I know from contextual knowledge that it is not 3 cm wide. So for 3D you need multiple angles. The camera calibration in the Computer Vision System Toolbox can help with that.
Thanks a lot! I will now move on to camera calibration toolboox.

Sign in to comment.