资源简介
此算法可以用于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_电路图、很详细的电路图
相关资源
- 背景差分法 多目标跟踪
- 多目标跟踪MOT16_Benchmark数据集链接
- 基于meanshift和粒子滤波的目标跟踪代
- 自拍用于目标跟踪的红外图像序列
- 画跟踪精确度图的程序.zip
- 在一张图上画多个跟踪框.zip
- 论文研究-基于修正积分卡尔曼粒子滤
- 目标跟踪中用到的各种深度学习方法
- 粒子滤波视频目标跟踪程序文档
- 红外目标跟踪测试视频
- 机动目标跟踪、信息融合希望有用
- 机动目标跟踪pdf格式
- 基于UKF滤波的单目标跟踪算法研究
- GMM_运动检测_目标跟踪_背景建模
- 多目标跟踪
- 多特征融合的目标跟踪
- kalman滤波实现视频目标跟踪
- meanshift均值漂移目标跟踪
- deep_sort_yolov3利用深度学习的多目标跟
- SRDCF运行结果文件
- onvif ptz控制 soap协议
- DSST目标跟踪算法
- 基于粒子滤波的多目标跟踪程序
- 卡尔曼目标跟踪
- 随机有限集理论
- 相关滤波目标跟踪算法以及评价
- 多目标跟踪源码
- 雷达目标跟踪
- camshift 目标跟踪程序
- 视频目标跟踪
评论
共有 条评论