資源簡介
此算法可以用于ptz目標跟蹤算法,是一個比較適用的算法,并且效果也非常不錯!大家快來看啊!

代碼片段和文件信息
#include?“ForegroundSeg.h“
#include?“LkTracker.h“
#include?“Log.h“
#include?“DrawTools.h“
#include?“operatorforcvtype.h“
#include?“highgui.h“
#include?“objectDetection_RefinedDiffImg.h“
#include?“CommonFunctions.h“
CForegroundSeg::CForegroundSeg(void)
{
// m_aviwriter.Init(“c:\\sizecalculate.avi“cvSize(320240)FOURCC(‘X‘‘V‘‘I‘‘D‘))?;?
m_conrer_quality?=?0.01;
m_corner_mindistance?=?20;
m_corner_maxfeatures?=?50;
m_bgsubthresh?=20?;?
m_imgsize?=?cvSize(00);?
m_bgimg=NULL;
m_grayimg=NULL?;?
m_warpbgimg=NULL?;?
m_diffgrayimg=NULL;
m_binimg=NULL?;?
m_lktracker?=?NULL??;
m_lastframe?=?NULL?;?
m_framecount?=?0?;?
m_inited?=?false;
m_lastframe?=?NULL;
m_bgflagimg?=?NULL;
m_showimg?=?NULL?;?
m_diffthresh?=?3;
m_continueframes?=??4;
m_bgblendweight ?=?0.1;
m_largestrect?=?cvRect(0000);
}
CForegroundSeg::~CForegroundSeg(void)
{
Clean();
}
bool?CForegroundSeg::init(IplImage?*?firstframeIplImage*?maskimage)
{
ASSERT(firstframe->nChannels==3)?;//assume?color?image
{
Clean();
m_imgsize?=?cvGetSize(firstframe)?;?
m_bgimg?=?cvCreateImage(m_imgsize83)?;?
m_warpbgimg?=?cvCreateImage(m_imgsize83)?;?
m_lastframe?=?cvCreateImage(m_imgsize83)?;?
m_grayimg?=?cvCreateImage(m_imgsize81)?;?
m_diffgrayimg?=?cvCreateImage(m_imgsize81)?;?
m_binimg?=?cvCreateImage(m_imgsize81)?;?
m_bgflagimg?=?cvCreateImage(m_imgsize81)?;?
m_showimg=?cvCreateImage(m_imgsize83)?;?
cvZero(m_bgflagimg);
m_lktracker?=??new?CLkTracker;
m_lktracker->Initialize(m_imgsize)?;?
}
cvCopy(firstframem_bgimgmaskimage)?;?
m_framecount?=?0?;?
cvCvtColor(firstframe?m_grayimgCV_BGR2GRAY)?;?
m_lktracker->SetFirstframe(m_grayimg);
m_lktracker->SetFeaturePointsFromImage(m_grayimgm_corner_maxfeaturesm_conrer_qualitym_corner_mindistanceNULLNULL)?;?
m_inited?=?true;?
return?true;
}
void?CForegroundSeg::Clean()
{
m_imgsize?=?cvSize(00);?
cvReleaseImage(&m_bgimg);
cvReleaseImage(&m_grayimg)?;?
cvReleaseImage(&m_warpbgimg)?;?
cvReleaseImage(&m_diffgrayimg);
cvReleaseImage(&m_binimg)?;?
cvReleaseImage(&m_lastframe)?;?
cvReleaseImage(&m_bgflagimg)?;?
cvReleaseImage(&m_showimg)?;?
if(m_lktracker!=NULL)
{
delete?m_lktracker;
m_lktracker?=?NULL??;
}
m_framecount?=?0?;?
m_inited?=?false;
m_largestrect?=?cvRect(0000);
}
static?inline?int?dcolor(const?uchar?*?aconst?uchar*b)?
{
return?(abs(a[0]-b[0])?+?abs(a[1]-b[1])+abs(a[2]-b[2]))/4;
//int?t[3]?=?{?abs(a[0]-b[0])??abs(a[1]-b[1])?abs(a[2]-b[2])};
//int?maxt?=?std::max(t[0]t[1]);
//return?std::max(maxtt[2])?;?
}
static?inline?void?cpcolor(const?uchar?*?auchar*b)?
{
b[0]?=?a[0]?;
b[1]?=?a[1]?;
b[2]?=?a[2]?;
}
//blend?two?rgb?color?assume?w1+w2=256
static?inline?void?blendcolor(const?uchar*aconst?uchar*buchar*cint?w1int?w2)
{
c[0]?=?((int)a[0]*w1+(int)(b[0])*w2)/256;
c[1]?=?((int)a[1]*w1+(int)(b[1])*w2)/2
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17733??2008-02-13?17:40??25811223ptzTracking\ForegroundSeg.cpp
?????文件???????4482??2008-02-04?17:05??25811223ptzTracking\ForegroundSeg.h
?????文件???????2981??2008-02-13?17:44??25811223ptzTracking\GPyramid.cpp
?????文件????????973??2008-02-27?08:40??25811223ptzTracking\GPyramid.h
?????文件???????7363??2008-02-13?10:17??25811223ptzTracking\KalmanFilter.cpp
?????文件???????2746??2008-02-13?10:17??25811223ptzTracking\KalmanFilter.h
?????文件???????3468??2008-02-27?08:40??25811223ptzTracking\ob
?????文件???????1045??2008-02-27?08:40??25811223ptzTracking\ob
?????文件???????4943??2008-02-19?18:25??25811223ptzTracking\ob
?????文件????????699??2008-02-19?18:25??25811223ptzTracking\ob
?????文件??????18960??2008-02-25?18:14??25811223ptzTracking\ob
?????文件???????2872??2008-02-19?18:25??25811223ptzTracking\ob
?????文件???????2518??2008-02-19?18:25??25811223ptzTracking\ob
?????文件????????554??2008-02-19?18:25??25811223ptzTracking\ob
?????文件???????2484??2008-02-27?08:40??25811223ptzTracking\ob
?????文件????????568??2007-10-05?05:49??25811223ptzTracking\ob
?????目錄??????????0??2009-07-09?13:23??25811223ptzTracking
-----------?---------??----------?-----??----
????????????????74607????????????????????18
- 上一篇:關于圖像增強的一些代碼
- 下一篇:CPU_電路圖、很詳細的電路圖
評論
共有 條評論