资源简介
实现效果: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
代码片段和文件信息
#include “stdafx.h“
#include “Interpolation.h“
double Interpolation::result(double var)
{
double x[n_array] = {23.524.82627.82930.632.33435.8237.6940.34244.54749.815258.662.366.270.775.280.6686100.6115.2136.8166.6206.1260.8362.9556.81113};
double y[n_array] = {3536373839404142434445464748495052535455565758606264666870727476};
double tempf[n_array]sum =0p = var;
int ijk=0;
if(p <= 0) return 0;
if(p<=50) {
for(i=0;i<16;i++)
{
temp = 1;
k = i;
for(j=0;j<16;j++)
{
if(k==j)
{
continue;
}
else
{
temp = temp * ((p-x[j])/(x[k]-x[j]));
}
}
f[i]=y[i]*temp;
}
for(i=0;i<16;i++)
{
sum = sum + f[i];
}
return sum;
}
else if(p>50&&p<120)
{
for(i=16;i<25;i++)
{
temp = 1;
k = i;
for(j=16;j<25;j++)
{
if(k==j)
{
continue;
}
else
{
temp = temp * ((p-x[j])/(x[k]-x[j]));
}
}
f[i]=y[i]*temp;
}
for(i=16;i<25;i++)
{
sum = sum + f[i];
}
return sum;
}
else if(p>=120&&p<134) return 63;
else if(p>=134&&p<140) return 64;
else if(p>=140&&p<155) return 65;
else if(p>=155&&p<180) return 66;
else if(p>=180&&p<190) return 67;
else if(p>=190&&p<210) return 68;
else if(p>=210&&p<250) return 69;
else if(p>=250&&p<310) return 70;
else if(p>=310&&p<350) return 71;
else if(p>=350&&p<390) return 72;
else if(p>=390&&p<450) return 73;
else if(p>=450&&p<580) return 74;
else if(p>=580&&p<730) return 75;
else if(p>=730&&p<1200) return 76;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 303616 2011-05-20 17:21 Source code\Debug\Projeect3.exe
文件 1354180 2011-05-20 17:21 Source code\Debug\Projeect3.ilk
文件 3492864 2011-05-20 17:21 Source code\Debug\Projeect3.pdb
文件 305152 2011-05-23 07:30 Source code\Debug\Stereo Vision.exe
文件 1151348 2011-05-23 07:30 Source code\Debug\Stereo Vision.ilk
文件 3263488 2011-05-23 07:30 Source code\Debug\Stereo Vision.pdb
文件 119 2011-05-14 21:28 Source code\Projeect3\CalibFile\Backup\0517\CamData.yml
文件 207 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\M1.yml
文件 207 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\M2.yml
文件 1994952 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\mx1.yml
文件 1994421 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\mx2.yml
文件 1994524 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\my1.yml
文件 1994488 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\my2.yml
文件 266 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\Q.yml
文件 163 2011-05-15 12:54 Source code\Projeect3\CalibFile\Backup\0517\T.yml
文件 207 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\M1.yml
文件 207 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\M2.yml
文件 1994248 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\mx1.yml
文件 1994413 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\mx2.yml
文件 1994309 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\my1.yml
文件 1994646 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\my2.yml
文件 266 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\Q.yml
文件 163 2011-05-18 18:29 Source code\Projeect3\CalibFile\Backup\0518\T.yml
文件 112 2011-05-19 10:55 Source code\Projeect3\CalibFile\Backup\0520\CamData.yml
文件 207 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\M1.yml
文件 207 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\M2.yml
文件 1995425 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\mx1.yml
文件 1993898 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\mx2.yml
文件 1993968 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\my1.yml
文件 1994022 2011-05-20 02:53 Source code\Projeect3\CalibFile\Backup\0520\my2.yml
............此处省略117个文件信息
评论
共有 条评论