Stereo Depth

The Stereo Depth module uses two images to calculate a depth or distance image whose intensities reflect the distance to that point in the image. With two cameras one can use this module to determine nearby obstacles or know when objects are close by. Depth maps can also be used for depth segmentation where near objects can be removed from distance objects based on their depth values (not unlike color or intensity segmentation).

Stereo depth calculation is still a very active research area. With new methods and techniques appearing frequently new methods will be added when appropriate. The current technique combines speed with simplicity to produce usable results.



1. Data Source - Select if the two stereo images will come from a single image or two separate images. Many stereo images are sent as a single image that needs to be split down the middle in order to create the two sides.

2. Left/Right Image - If two separate images are to be used select which ones are which. You can select two cameras or two markers that have been saved as images from other modules.

3. Match Thresholds - You can eliminate bad stereo matching areas by eliminating matches that are low in texture or confidence. While this will create unmatched areas within the image it will reduce false depth matches.

4. X/Y Window - The size of the block matching window that is used to determine correspondence between the left and right images.

5. Min/Max Disparity - The minimum and maximum disparity between the left and right image. The higher the max disparity the larger the depth disparity but the longer processing is required to determine that depth.

6. Coarseness - If you don't need a full depth map you can specify a larger coarseness to increase processing speed but with a lower resolution.

7. Viewer - Specifies how the two images should be viewed together

  • Edges - Shows the combined edges of both images superimposed on each other.
  • Flicker - Causes the two images to flicker back and forth between each other. This helps the eye to understand the movement between the two images and can help to determine alignment or rotational issues. No glasses are required for this mode.
  • Anaglyph - produces an with the left or right channels combined into the color channel of a single image. You will need the red/green, red/blue, etc. colored lens glasses to see the actual 3D image.
  • Side by Side - Shows the left and right images combined together in a single side by side image.

8. Sample - Attempts to determine global rotation and Y movement automatically.

9. 3D_MOVE_Y - Specifies how many rows the left and right image are misaligned. In order for the stereo correspondence to work well the left and right image correspondence needs to be on the same row/line. Because camera alignment may not be perfect adjustment of the Y correspondence may need to be adjusted.

10. 3D_ROTATE - Specifies the rotational difference between the left and right images.

11. 3D_TILT - Specifies the tilt amount difference between the left and right images.

12. Palette - Specifies how the depth map is displayed. Linear correlates directly to the image displacement. Pseudo Color will color different depths with different colors.



Download the above example robofile and images taken from the Sparkfun AVC 2012.

 Download another example robofile that shows how to use two separate webcams to create a stereo image. This uses the Camera_Properties module that you will have to edit to specify your cameras. These images are saved as Markers and then used in the Stereo module. Don't see anything useful? Try swapping the Left and Right image (checkbox in the Stereo module). Because the images are saved to memory prior to usage in the Stereo module you can also apply other modules such as the Radial Distortion in order to correct images prior to correlation in the Stereo module.

See Also

Creative Senz3D
OpenNI Kinect
LeapMotion Controller
Hokuyo Laser
Visible Laser Line

 New Post 

Stereo Related Forum PostsLast postPostsViews
Pothole detect
Hi, Mr. Steven. Can you give me example to detect pothole and crack size? Roborealm is very new to me and it would be awesome if...
8 year 11 3690
Mr STeven,                  &...
8 year 6 2406
navigation by computer vision
am writing a simple vbscript for navigation of car by computer vision ie. image processing i want to send serial c...
8 year 27 5010
How to use minoru?
Hello STeven, I try to use a depth or disparity map from minoru 3d camera with the stereo module. ...
8 year 12 3377
Stereoscopic vision for determination of depth
Hi I am with the LEAF robotic group and am in the process of making an arm for my robot herbert. I want to try to ...
9 year 2 2366
seeking suggestion
I am completely new to roborealm so pardon me if I sound stupid. I am doing a project (artificial vision guidance for blind thro...
10 year 2 2336
Stereo (stereoscopic) Vision object detection
I am fairly new to Roborealm so excuse me if I sound stupid. I have two webcams 2.5" (roughly the distance between my eyes) apa...
11 year 7 5004
3D Viewer
Hello. It is possible to do real-time video in RoboRealm with a 3D camera as shown in the picture? ...
11 year 2 2848
Stereo Depth Mapping
I've been doing more and more research trying to find the best alternative to Stereo depth mapping. I've come across a couple...
12 year 14 3564
Motion detection
I am building a robotic arm which would be capable of catching an object in mid-flight. I want to know if I can use roborealm to...
12 year 6 2497
I ran across this module last night but couldnt find any help info for it. Is this module still in development? If...
12 year 4 2809