新建立CamOperation类,负责采集图像和分发图像数据
结构:多线程类WorkQueue,摄像头操作类CamOperation
方法:
摄像头初始化: frameGrabber.Init(0, true);在MainFrame中初始化中不适合,新建立一个摄像头操作类,实现摄像头的初始化和线程启动。
工作线程初始化:启动采集线程。线程数1
图像采集工作线程:采集到的图像数据发送到指定的窗口,必须得到目标窗口的指针。
CMainFrame* pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
CInputCertView* V = (CInputCertView*)pFrame->m_pInput->GetActiveView();实时取出显示窗口的showflag和stopflag标志,决定是否继续显示或者跳出采集循环。
线程销毁:在显示窗口OnDestroy消息,将线程的成员m_WorkQueue.Destroy()
采集类ARFrameGrabber有个connected私有成员变量,改为public类型,实现Cam的状态判断。
对人跟踪的横坐标已经获得,但不是很稳定,下一步的工作用统计学方法找到较稳定的人像横坐标。
平滑曲线是一方面,合理分割波峰是一件不容易的事情,卷积运算的效果需要验证。