資源簡介
本代碼是行人單目標跟蹤,用于目標的檢測和跟蹤,速度非常快。

代碼片段和文件信息
#include?“StdAfx.h“
#include?“AVIHandle.h“
#include?
#pragma?comment(lib“vfw32.lib“)
AVIHandle::AVIHandle(void):gray_value(NULL)gray_value_square(NULL)
{
this->loaded?=?FALSE;
}
AVIHandle::AVIHandle(CString?filename):gray_value(NULL)gray_value_square(NULL)
{
this?->loaded?=?FALSE;
LoadVideo(filename);
}
AVIHandle::~AVIHandle(void)
{
if(gray_value?!=?NULL)?free(gray_value);
if(gray_value_square?!=?NULL)?free(gray_value_square);
}
//加載視頻數據
BOOL?AVIHandle::LoadVideo(CString?filename)
{
//讀取AVI文件信息
HRESULT?result;
AVIFileInit();?//使用AVI族函數讀取AVI文件前應首先調用
PAVIFILE?pfile;//AVI文件指針
AVIFILEINFO?pfi;//AVI文件信息
PAVISTREAM?pavi;//AVI流
AVISTREAMINFO?stinfo;//AVI流信息
//打開AVI文件
result=AVIFileOpen(&pfilefilenameOF_READNULL);
//AVI文件信息
result=AVIFileInfo(pfile&pfisizeof(AVIFILEINFO));
//獲得AVI視頻流
result=AVIFileGetStream(pfile&pavistreamtypeVIDEO0);
//獲得AVI視頻流信息
result=AVIStreamInfo(pavi&stinfosizeof(AVISTREAMINFO));
//獲得AVI包
pgf?=?AVIStreamGetframeOpen(paviNULL);
?
????if?(pgf==NULL)
????{
//數據出錯
return?FALSE;
????}
HRESULT?hr;
//獲得特想的寬和高
int?cx=pfi.dwWidth;//圖象寬、高
int?cy=pfi.dwHeight;
width=cx;
height=cy;
length=pfi.dwLength;
//AVI楨格式,位圖Header位圖具體格式。
lpbm?=?(LPBITMAPINFOHEADER)AVIStreamGetframe(pgf1);
defaultPad=3;
//分配緩沖內存空間
//非填充緩沖
gray_value?=?(unsigned?char*)malloc(sizeof(unsigned?char)*width*height*3);
//填充緩沖
gray_value_square?=?(unsigned?char*)malloc(sizeof(unsigned?char)*(width+defaultPad)*(height+defaultPad)*3);
this->loaded?=?TRUE;
return?TRUE;
}
//獲得一個frame
unsigned?char*?AVIHandle::GetSingleframe(int?i)
{
return?(unsigned?char*)AVIStreamGetframe(pgfi);
//return?NULL;
}
int?AVIHandle::GetframeCount(void)
{
return?this->length;
}
int?AVIHandle::GetframeWidth(void)
{
return?this->width;
//return?0;
}
int?AVIHandle::GetframeHeight(void)
{
return?this->height;
//return?0;
}
//返回圖像的BMP格式數據
LPBITMAPINFOHEADER?AVIHandle::GetLPBM(void)
{
return?this->lpbm;
}
BOOL?AVIHandle::isLoaded(void)
{
return?this->loaded;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???20393620??2009-06-09?09:22??目標跟蹤\avi\walk.avi
?????文件???????2274??2009-11-08?18:46??目標跟蹤\Demo\AVIHandle.cpp
?????文件???????1136??2009-11-08?16:58??目標跟蹤\Demo\AVIHandle.h
?????文件???????3420??2009-11-08?20:02??目標跟蹤\Demo\chafenMul.cpp
?????文件????????931??2009-11-14?19:14??目標跟蹤\Demo\chafenMul.h
?????文件???????1536??2009-11-08?11:19??目標跟蹤\Demo\ChildFrm.cpp
?????文件???????1397??2009-11-08?11:19??目標跟蹤\Demo\ChildFrm.h
?????文件?????135252??2010-07-06?17:31??目標跟蹤\Demo\Debug\VideoDemo.exe
?????文件???????2526??2009-11-08?11:19??目標跟蹤\Demo\MainFrm.cpp
?????文件???????1542??2009-11-08?11:19??目標跟蹤\Demo\MainFrm.h
?????文件???????7485??2009-11-14?20:31??目標跟蹤\Demo\MeanShiftSegger.cpp
?????文件???????1680??2009-11-14?20:14??目標跟蹤\Demo\MeanShiftSegger.h
?????文件???????5140??2009-11-08?11:19??目標跟蹤\Demo\ReadMe.txt
????I.A.SH.??????4608??2017-11-07?17:59??目標跟蹤\Demo\res\Thumbs.db
?????文件???????1078??2009-11-08?11:19??目標跟蹤\Demo\res\Toolbar.bmp
?????文件???????1078??2009-11-08?11:19??目標跟蹤\Demo\res\VideoDemo.ico
?????文件????????401??2009-11-08?11:19??目標跟蹤\Demo\res\VideoDemo.rc2
?????文件???????1078??2009-11-08?11:19??目標跟蹤\Demo\res\VideoDemoDoc.ico
?????文件????????690??2009-11-13?22:20??目標跟蹤\Demo\Resource.h
?????文件????????211??2009-11-08?11:19??目標跟蹤\Demo\StdAfx.cpp
?????文件???????1054??2009-11-08?11:19??目標跟蹤\Demo\StdAfx.h
?????文件??????29216??2010-01-17?10:02??目標跟蹤\Demo\VideoDemo.aps
?????文件???????2494??2010-01-20?10:19??目標跟蹤\Demo\VideoDemo.clw
?????文件???????4590??2009-11-08?11:19??目標跟蹤\Demo\VideoDemo.cpp
?????文件???????5215??2009-11-13?22:38??目標跟蹤\Demo\VideoDemo.dsp
?????文件????????541??2009-11-08?11:19??目標跟蹤\Demo\VideoDemo.dsw
?????文件???????1435??2009-11-08?17:04??目標跟蹤\Demo\VideoDemo.h
?????文件?????320512??2010-07-06?17:31??目標跟蹤\Demo\VideoDemo.ncb
?????文件?????801280??2010-07-06?17:31??目標跟蹤\Demo\VideoDemo.opt
?????文件???????3139??2010-07-06?17:31??目標跟蹤\Demo\VideoDemo.plg
............此處省略13個文件信息
評論
共有 條評論