How to run this?
+ It needs cvBlobsLib. For setup info, get here: http://dsynflo.blogspot.com/2010/02/cvblobskib-with-opencv-installation.html
Here's code for my test using cvblobs: http://dl.dropbox.com/u/110310945/Blobs%20test.rar
+ Distance between two cameras in my project is 6 cm, you can chose father distance for the best result with your camera's type
+ Before running "Detect objects & compute distance to object" module, you must calibrate your cameras. How?
Change "#define CALIBRATION 0" to "#define CALIBRATION 1" in stdafx.h file.
After calibration, you will get new matrices in "CalibFile" folder (*.yml), if the result is good enough, change back "#define CALIBRATION 0"
Put this line into file stdafx.h: "#define ANALYSIS_MODE 1" as well.
+ I used chessboard 10x7 & 40 frames for calibration module, more details in "StereoFunctions.cpp" file. You can change these numbers suitable with your type of chessboard.
+ For problems with loading cameras, you should modify in "StereoGrabber.cpp". Put "index" appropriate with your device in cvCaptureFromCAM(index) function.
+ About computing distance: it interpolates the relationship between depth-value and real-distance to third degree polynomial. So i used excel file "interpolation" for interpolation to find k1 to k4, you should find your own value of these parameters.
+ For the best result, you should adjust parameters in Stereo Controls window.
+ This package includes matlab files in "Distance" folder, feel free to edit it.
+ For the basic theory, read this paper (also include his full code): http://scholar.lib.vt.edu/theses/available/etd-12232009-222118/unrestricted/Short_NJ_T_2009.pdf
i used VS2008 with OpenCV2.1 for this project.
Source code: https://www.dropbox.com/s/hiiq2unwttutbd8/Source%20code.rar
If it's useful 4u, plz rate & like, hehe ...:-D