MATLAB Answers

What should be the distance between the two cameras?

5 ビュー (過去 30 日間)
alireza akbari
alireza akbari 2021 年 9 月 12 日
コメント済み: Walter Roberson 2021 年 9 月 13 日
I have 2 separate cameras
What should be the distance between the two cameras for stereo vision?
  1 件のコメント
Julius Muschaweck
Julius Muschaweck 2021 年 9 月 12 日
At what distance from the camera are the objects you want to view in 3D?
And what is the field size of the cameras (the angle between the optical axis and the corner of the field of view?


回答 (2 件)

Julius Muschaweck
Julius Muschaweck 2021 年 9 月 13 日
With a stereo vision camera pair, intended to create pairs of images for 3D vision, the key quantity is the "stereo angle": The angle between the two cameras as seen from the object you're imaging. Taking @Dave B's number of 63 mm, that angle would be 100 mrad = 5.7° when the object is 630mm away from the cameras. With the same camera separation, a more distant object is seen with a smaller stereo angle, and the 3D impression is less strong.
So, if you take a picture of a scene, and you want to present the result to a human using a 3D monitor, aiming for a realistic result, 63 mm is an excellent starting point. Larger camera separation creates a stronger 3D impression, which may look unnatural. For professional video (like shooting a movie), the cameras and lenses are way too big to put them 63 mm apart, and the two big cameras are then mounted on a beam splitter to make smaller camera separation possible.
However, when magnification comes into play, things change. Typical binoculars have a lateral shift of the (parallel) optical axes of eye and viewing line. Binocular makers choose to set the viewing lines further apart, precisely to create good 3D impression when looking at distant objects. If you use cameras with very long focal length tele lenses, do it like the binocular makers. On the other hand, if you look at small objects with small cameras (e.g. cell phone camera modules) from a very short distance, then the cameras must be much closer to each other. This is what 3D stereo digital surgery microscopes do: They look at the human tissue from about 200 mm, with a distance of about 30 mm between the lens apertures, which corresponds to looking with your eyes at an object about 450 mm away, like you would when you work with your hands without optics in between.
In my experience, a viewing angle af 5° to 8° is a good starting point for such 3D images.
However, when stereo cameras are used for technical purposes (3D measurements), I agree with @Walter Roberson : The separation may be much larger.

Dave B
Dave B 2021 年 9 月 12 日
This isn't a very MATLAB-y answer, but the lenses in stereo cameras typically try to replicate the distance between the eyes (according to wikipedia).
The average interocular distance for an adult is about 63mm:
  2 件のコメント
Walter Roberson
Walter Roberson 2021 年 9 月 13 日
For example, if you wanted to be able to see how the right face of the top of the two blocks is cut, you would need a wider separation than normal (and you might need extra cameras if you wanted to be able to reconstruct the objects without ambiguity.)



Community Treasure Hunt

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

Start Hunting!

Translated by