資源簡介
前后向運動歷史圖的源代碼,基于opencv1.0+vs6.0開發(fā),容易轉(zhuǎn)換成vs以后的版本,配置很容易,壓縮包內(nèi)有原始的paper。

代碼片段和文件信息
#include?“cv.h“
#include?“highgui.h“
#include?
#include?
#include?
#include?
float?MHI_DURATION?=?0.5;
//?用于運動檢測的循環(huán)幀數(shù),與機器速度以及FPS設(shè)置有關(guān)
const?int?N?=?4;//N?=2345??(幀間差間隔量:當(dāng)兩幀中間無間隔時?N=2,間隔一幀時?N=3,N越大,每層拖尾越寬)
const?int?L?=?11;//L?the?number?of?layers?(L越大,尾跡越長)
#define?M?(2*(N-1)+L)?//the?total?of?ring?image?buffer
//?ring?image?buffer??環(huán)形緩存器?循環(huán)更新
IplImage?**buf?=?0;
//?IplImage?**bufDiffForward?=?0;??//前向差分結(jié)果緩存器
IplImage?**bufDiffBackward?=?0;?//后向差分結(jié)果緩存器
int?last?=?0; //the?last?index?of?frame?for?the?Forward?MHI
int?lastDiff?=?0;?????//the?last?index?of?the?diffBackward
/*
Figure?of?Forward-Backward?MHI
History???????????????????????????????????????????????Current ?Future
?|_____________|_____________|_____________|_____________|_____________|_____________|_____________|_____________|?
???|---------------buf[2(N-1)+L](ring?buffer?forward?order)------------->|
?idx1 idx2 last
???|_____________|_____________| _
?|_____________| ????????|??????|_____________| ?idx3 ????????idx4 |
???|_____________| | ??????????|??????|_____________| ?? ?| L:layers
?|_____________| ????| ??|?????????????|??????|_____________|????? | ???????(each?of?layer)
| ??| ????????????| ??????????| -
????|---------------------------------------->|
diffBackward[L]?
??(ring?buffer?forward?order)
????
*/
//?temporary?images
IplImage?*mhiForward?=?0;?//?Forward?MHI:?motion?history?image
IplImage?*mhiBackward?=?0;?//?mhiBackward?MHI:?motion?history?image
IplImage?*orient?=?0;?//?orientation
IplImage?*mask?=?0;?//?valid?orientation?mask
IplImage?*segmask?=?0;?//?motion?segmentation?map
CvMemStorage*?storage?=?0;?//?temporary?storage
//parameters:
// silh?-?單幀差圖像
// mhi?-?MHI合成圖像
// layers?-?尾跡層數(shù)?
void?myUpdateMotionHistory(?IplImage*?silh?IplImage*?mhi?int?layers)?//?update?MHI
{
int?xy;
????int?silStep?=?silh->widthStep;
int?mhiStep?=?mhi->widthStep;
CvSize?size?=?cvGetSize(silh);
uchar?*?silhIm?=?silh->imageData;
uchar?*?mhiIm?=?mhi->imageData;
int?d?=?255/layers;
for(??y?=?0;?y? for(??x?=?0;?x? {
int?val?=?mhiIm[x];
val?=?max(silhIm[x]max(0val-d));
mhiIm[x]?=?val;
}
}
//?parameters:
//??img?-?輸入最新視頻幀
//??dstForward?-?輸出Forward?MHI?
//??dstBackward?-?輸出Backward?MHI
//??diff_threshold?-?輸入幀間差二值化閾值
void??update_mhi(?IplImage*?img?IplImage*?dstForward?IplImage*?dstBackward?IplImage*?curImg?int?diff_threshold?)
{
????//double?timestamp?=?clock()/1000.;?//?get?current?time?in?seconds
????CvSize?size?=?cvSize(img->widthimg->height);?//?get?current?frame?size
????int?i;
int?idx1; ???//當(dāng)前幀往前第(N-1)幀的標(biāo)號
int?idx2; ???//當(dāng)前幀的標(biāo)號
int?idx3; ???//未來最新幀往前第
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????2270208??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.bsc
?????文件?????192584??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.exe
?????文件?????219556??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.ilk
?????文件??????21577??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.obj
?????文件??????21649??2009-04-02?11:30??OpenCV_forward-backwrd?MHI\Debug\motempl.obj.enc
?????文件????4164400??2009-08-20?08:57??OpenCV_forward-backwrd?MHI\Debug\motempl.pch
?????文件?????467968??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.pdb
?????文件??????????0??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\motempl.sbr
?????文件??????41984??2009-12-25?13:53??OpenCV_forward-backwrd?MHI\Debug\vc60.idb
?????文件??????77824??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\Debug\vc60.pdb
?????文件????????135??2007-02-24?15:18??OpenCV_forward-backwrd?MHI\Makefile
?????文件??????12581??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\motempl.c
?????文件???????4160??2008-06-15?06:32??OpenCV_forward-backwrd?MHI\motempl.dsp
?????文件????????539??2007-03-07?20:41??OpenCV_forward-backwrd?MHI\motempl.dsw
?????文件??????58368??2009-12-25?13:55??OpenCV_forward-backwrd?MHI\motempl.ncb
?????文件?????345088??2009-12-25?13:55??OpenCV_forward-backwrd?MHI\motempl.opt
?????文件???????1350??2009-10-14?15:29??OpenCV_forward-backwrd?MHI\motempl.plg
????..A.SH.?????13824??2008-07-14?16:10??OpenCV_forward-backwrd?MHI\Thumbs.db
?????文件?????432700??2007-02-24?15:18??OpenCV_forward-backwrd?MHI\video1.avi
?????文件????2533113??2008-05-27?11:32??OpenCV_forward-backwrd?MHI\zyin06OTCBVS.pdf
?????文件????????348??2009-12-25?15:01??OpenCV_forward-backwrd?MHI\說明.txt
?????目錄??????????0??2009-12-25?13:56??OpenCV_forward-backwrd?MHI\Debug
?????目錄??????????0??2009-12-25?14:46??OpenCV_forward-backwrd?MHI
-----------?---------??----------?-----??----
?????????????10879956????????????????????23
評論
共有 條評論