• PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 20KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 205
    下载次数
  • 2008-03-11 12:07
    上传日期
关于时下流行的粒子滤波程序的源码,做视频跟踪和贝叶斯图像分析的同行可以
CodeforParticlefilter.rar
  • Code for Particlefilter
  • FileIO.h
    715B
  • JetStream.cpp
    19KB
  • Utility.h
    915B
  • FileIO.cpp
    4.5KB
  • ProbContour.cpp
    9.3KB
  • MemAlloc.cpp
    3.2KB
  • MemAlloc.h
    904B
  • Readme-PF.txt
    4.2KB
  • Particle.cpp
    4.7KB
  • utility.cpp
    3.6KB
  • JetStream.h
    3.1KB
  • Macro.h
    904B
  • Particle.h
    2.7KB
  • ProbContour.h
    2.2KB
  • www.pudn.com.txt
    218B
内容介绍
//**************************************************************************** // Copyright 2003, 2004, 2005, by Xin Fan // Thanks for the acknowledgements in research publications based on the codes. // Usage of the codes for Commercial purpose is PROHIBITED. // //Institute of signal and image processing //School of information engineering //Dalian Maritime University, China //http://sipi.dlmu.edu.cn // // Author: Xin Fan // The codes were accomplished when the author was pursuing PHD degree in // Xi'an Jiaotong University, China //Reference: // [1] S. Arulampalam and S. Maskell and N. Gordon and T. Clapp,"A Tutorial on Particle Filters for On-line // Non-linear/Non-Gaussian Bayesian Tracking",IEEE Transactions On Signal Processing, Vol. 50(2), // pages 174-188, February 2002. // [2] Jun S. Liu and Rong Chen, "Sequential {Monte Carlo} Methods for Dynamic Systems", // Journal of the American Statistical Association, Vol. 93, No. 443, pp.1032--1044, 1998 // [3] Gordon, N., Salmond, D., and Smith, A. ." Novel approach to nonlinear/non-Gaussian // Bayesian state estimation". IEE Proc. F, 140, 2, 107-113. // [4]P. P谷rez, A. Blake, and M. Gangnet. JetStream: Probabilistic contour extraction with particles. // Proc. Int. Conf. on Computer Vision (ICCV), II:524-531, 2001. // The sourcecode is partly based on Intel OpenCV // ***************************************CParticle class******************************************************* The class "CParticle" is an ABSTRACT class for particle filter. Derived classes from "CParticle" are required to perform particle filtering in various applications, but the filtering can be achieved by calling the SAME function as follows: void * cvrParticleIteration(CParticle *cvrParticle, int nStep) { //Predict... cvrParticle->UpdateByTime(nStep); //Update weights cvrParticle->EvalWeight(nStep); //if Estimation performed return (cvrParticle->GetState(nStep)); } NOTE: 1. "UpdateByTime", "EvalWeight", and "GetState" are virtual functions that make it viable for access overloaded functions of derived classes through the pointer to the base class "CParticle". 2. The virtual functions should be overloaded based on applications, which are illustrated in CJetStream as an example. 3. The returned pointer should be allocated when implementing the virtual function "GetState". *********************************************************************************************************** ********************************CJetstream Class ********************************************************** The class "CJetStream" is a class for implementing JetStream algorithm. The following sample gives how to perform JetStream algorithm and draw the extracted contour in an image. //Specify parameters //Dimension of contour(2-D) const int point_dim = 2; const int sample_num = 100; const int step_num = 20; const int dyn_order = 2; ///////////////////////////// //convert input to 1-channel image IplImage *src = cvrConvertChannel(m_pOrigImg->GetImage(), CV_BGR2GRAY); ///////////////////////////// //Initializing JetStream CJetStream *pJet = new CJetStream(point_dim, sample_num, step_num); CJetInit CvrJetStartPt(dyn_order); for (int i = 0; i < dyn_order; i++) { CvrJetStartPt.SetPoints((long*)(m_pPoints + i), i); } //Prepare Image Data for Jetstream CJetImgData CvrJetData; cvrJetInitData(src, &CvrJetData); cvrJetInitPara(&CvrJetPara, &CvrJetData); pJet->Initialize(&CvrJetPara, &CvrJetData, &CvrJetStartPt); ////////////////////////////////////////////////////////// //JetStream iteration for (int i = 2; i < step_num; i ++) { cvrParticleIteration(pJet, i); //Act as resampling, but all the previous states will be updated //Need to discuss more... pJet->Selection(i); pJet->EstState(i); cvrProbContour(src, pJet,, i); } cvrProbContour(src, pJet, step_num - 1); //////////////////////////////////////////////////// //Convert to the image format which can be displayed cvrConvertImage(src, m_pResImg->GetImage()); cvReleaseImage( &src ); NOTE: The functions with the prefix "cvr" are defined in "ProbContour.cpp"
评论
    相关推荐
    • VC++视频跟踪代码
      VC++,从网上下载的,自己也是学习中,和大家分享,共同进步.
    • MATLAB交通视频跟踪系统-Image.rar
      MATLAB交通视频跟踪系统-Image.rar 此m文件必须在matlab2008下才能使用, 专门用于目标跟踪,在此段交通视频中有白车和黑车,黑车被屏蔽! 在附件中有m文件和此段交通视频! 最后播放视频,会发现所有的凡是白...
    • VIS视频跟踪blocktrack
      该源码是关于运动对象跟踪的算法,主要实现了高斯背景建模,全局运动补偿( SIFT特征和RANSAC算法),运动对象检测,对象跟踪算法(Mean Shift, Particle Filter等),对象特征提取(轨迹,大小,起止帧等),...
    • 红外跟踪视频
      此资源包含3个红外相机录制的红外视频,可用于红外目标跟踪测试。
    • 基于MATLAB的视频跟踪
      在粒子滤波的基础上设计的GUI界面,可直接在界面中实现视频的录制、目标跟踪
    • 粒子滤波 视频跟踪
      粒子滤波 视频跟踪研究 Matlab代码 含改进方法 很强大
    • 视频目标跟踪
      本代码是行人单目标跟踪,用于目标的检测和跟踪,速度非常快。
    • 视频跟踪源码 MFC实现
      视频跟踪源码- 只完成部分功能 视频跟踪源码- 只完成部分功能
    • VC++ 视频跟踪检测
      采用opencv MFC技术 实现视频跟踪 有很好的参考价值
    • meanshift视频跟踪
      meanshift视频跟踪,效果良好,所有文件齐全,亲测可用,加载到matlab可以直接运行