实现效果:http://v.youku.com/v_show/id_XMTU2Mzk0NjU3Ng==.html 如何在你的电脑上运行这个程序? 1,它需要cvblobslib这一个opencv的扩展库来实现检测物体与给物体画框的功能,具体安装信息请见: http://dsynflo.blogspot.com/2010/02/cvblobskib-with-opencv-installation.html,当你配置好cvblobslib之后,你可以用这一的程序进行测试:http://dl.dropbox.com/u/110310945/Blobs%20test.rar 2,视频中两个摄像头之间的距离是6cm,你可以根据你摄像头的型号,来选择合适的距离来达到最好的效果。 3,在进行测距之前,首先需要对摄像头进行标定,那么如何标定呢? 在stdafx.h中把"#define CALIBRATION 0"改成 “#define CALIBRATION 1”表示进行标定,标定之后,你就可以在工程目录下的"CalibFile" 文件夹中得到标定信息的文件。如果标定效果还不错,你就可以吧"#define CALIBRATION " 改成0,以后就不需要再标定,直接使用上一次的标定信息。你还需要把"#define ANALYSIS_MODE 1"这行代码放到stdafx.h中。 4,视频中使用的是10*7的棋牌格,共摄录40帧来计算摄像头的各种参数,如果你像使用其他棋盘格,可以在 "StereoFunctions.cpp"文件中修改相应参数。 5,如果你无法打开摄像头,可以在 "StereoGrabber.cpp"文件中修改代码“cvCaptureFromCAM(index)”中index的值。 6,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. 7,你可以通过调整控制窗口中各个参数的滑块,从而来得到更好的视差图。 8,在目录下的”distance“文件夹中,有计算距离信息的matlab代码。 9,如果你想了解基本的理论,可以看一下这个文档:http://scholar.lib.vt.edu/theses/available/etd-12232009-222118/unrestricted/Short_NJ_T_2009.pdf 视频中环境:vs2008,opencv2.1
2019-12-21 19:56:04 24.09MB opencv 双目测距 双目视觉
1
实现效果 http://v.youku.com/v_show/id_XMTU2Mzk0NjU3Ng==.html 这个代码是视频中代码的修改版 修改内容:屏蔽了用cvblobslib实现的功能,但是主要功能标定以及测距都可以实现,而且不用安装那反人类的cvblobslib扩展库。 实现环境: 1.windows10 2.opencv 2.4.9 3.visual studio 2013 4.两颗微软HD-3000摄像头 5.i7、集显、16g、sata ps:如果你下载了我之前的代码:http://download.csdn.net/detail/hysteric314/9514872, 那这个你就不需要下载了,只需要改一下之前的代码 方法: 注释掉stdafx.h头文件里的 //#define CV_EVENT_LBUTTONDOWN 1 //#define CV_EVENT_RBUTTONDOWN 2 注释掉这两行,或删掉 再把stereomain.cpp里的CV_EVENT_MLBUTTONDOWN改成CV_EVENT_LBUTTONDOWN 代码有关的博客地址:http://blog.csdn.net/hysteric314/article/details/51357318
1