加入SetShowFlag(BOOL)设置控制抓起视频的开关。
CMainFrame* m = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
图像质量不高,增强后效果较好。
输入和输出函数为单通道灰度图像。
图像ROI区域的选择应该设置在显示主窗口,
新建立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的状态判断。
多线程设计完成,运行正常,析构时做destory即可。
平台搭建完成。
项目迁移
最新推荐文章于 2020-12-05 23:15:02 发布