資源簡(jiǎn)介
實(shí)現(xiàn)效果:http://v.youku.com/v_show/id_XMTU2Mzk0NjU3Ng==.html
如何在你的電腦上運(yùn)行這個(gè)程序?
1,它需要cvblobslib這一個(gè)opencv的擴(kuò)展庫來實(shí)現(xiàn)檢測(cè)物體與給物體畫框的功能,具體安裝信息請(qǐng)見: http://dsynflo.blogspot.com/2010/02/cvblobskib-with-opencv-installation.html,當(dāng)你配置好cvblobslib之后,你可以用這一的程序進(jìn)行測(cè)試:http://dl.dropbox.com/u/110310945/Blobs%20test.rar
2,視頻中兩個(gè)攝像頭之間的距離是6cm,你可以根據(jù)你攝像頭的型號(hào),來選擇合適的距離來達(dá)到最好的效果。
3,在進(jìn)行測(cè)距之前,首先需要對(duì)攝像頭進(jìn)行標(biāo)定,那么如何標(biāo)定呢?
在stdafx.h中把"#define CALIBRATION 0"改成 “#define CALIBRATION 1”表示進(jìn)行標(biāo)定,標(biāo)定之后,你就可以在工程目錄下的"CalibFile" 文件夾中得到標(biāo)定信息的文件。如果標(biāo)定效果還不錯(cuò),你就可以吧"#define CALIBRATION " 改成0,以后就不需要再標(biāo)定,直接使用上一次的標(biāo)定信息。你還需要把"#define ANALYSIS_MODE 1"這行代碼放到stdafx.h中。
4,視頻中使用的是10*7的棋牌格,共攝錄40幀來計(jì)算攝像頭的各種參數(shù),如果你像使用其他棋盤格,可以在 "StereoFunctions.cpp"文件中修改相應(yīng)參數(shù)。
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,你可以通過調(diào)整控制窗口中各個(gè)參數(shù)的滑塊,從而來得到更好的視差圖。
8,在目錄下的”distance“文件夾中,有計(jì)算距離信息的matlab代碼。
9,如果你想了解基本的理論,可以看一下這個(gè)文檔:http://scholar.lib.vt.edu/theses/available/etd-12232009-222118/unrestricted/Short_NJ_T_2009.pdf
視頻中環(huán)境: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;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????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個(gè)文件信息
評(píng)論
共有 條評(píng)論