程序分为几个模块: 1.前景检测模块(CvFGDetector虚类):实现前景检测, 2.团块检测模块(CvBlobDetector虚类):实现运动物体(团块)的的检测 3.团块跟踪模块(CvBlobTracker虚类):实现运动物体跟踪 4.团块运动轨迹产生模块(CvBlobTrackGen虚类):实现的功能与模块名字同(下同) 5.团块轨迹后处理模块(CvBlobTrackPostProc虚类) 6.团块轨迹分析模块(CvBlobTrackAnalysis虚类) 7.以及处理流程模块(cvBlobTrackerAuto虚类):此模块可看成胶水,集成上面的模块。 除了处理流程模块(因为它只控制流程呀~),每一个模块可以用多种算法实现,在程序中,这些算法就是函数。如(15-16行): CvFGDetector* cvCreateFGDetector0() {...} CvFGDetector* cvCreateFGDetector0Simple(){...} CvFGDetector* cvCreateFGDetector1(){...} 也就是说这三个函数都是能完成前景检测,具体用哪个,由你在main()函数中调用。 其他模块也是这样。 实现这些模块的类以及完成这些算法的函数都由OPENCV帮你实现了,blobtrack要做的就是在main()函数中调用这些函数,初始化函数参数以及各种变量。
==========================================================================================
http://hi.baidu.com/reedinheart/blog/item/8aeb51ed4091b83dacafd589.html
在空工程中加入opencv中blobtrack.cpp编译遇到的错误(转)2010-03-11 11:20
1.在空工程中加入opencv中blobtrack.cpp编译遇到的错误 fatal error C1010: unexpected end of file while looking for precompiled header directive Error executing cl.exe. blobtrack.obj - 1 error(s), 0 warning(s)
预编译头文件(precompiled header) 解决方法: 1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。 2、在文件开头添加: #include "stdafx.h" 对预编译头文件说明如下:
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。 预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "st |