老师,我在开摄像头那,把视频图像的每一帧加入了滤波,会卡顿。有什么方法能优化啊?
- //摄像头显示循环,所有关于采集的操作是通过主线程传递控制变量到采集线程,而后由采集线程完成的
- DWORD WINAPI CaptureThread(LPVOID lpParameter)
- {
- CGOMfcTemplate2Dlg* pDlg = (CGOMfcTemplate2Dlg*)lpParameter;
- while (true)
- {
- Mat temp;
- if (pDlg->b_closeCam)//退出循环
- {
- break;
- }
- //从directX中获得当前图像并显示出来
- IplImage* queryframe = pDlg->cameraDs.QueryFrame();
- Mat camframe(queryframe);
- if (pDlg->m_beauty)
- {
- temp = camframe.clone();
- bilateralFilter(temp, camframe, 15, 25 * 2, 25 / 2);
- }
-
- pDlg->showImage(camframe, IDC_CAM);
- if (pDlg->b_takeApic)
- {
- pDlg->m_mainframe = camframe.clone();
- pDlg->b_takeApic = false;
- }
- if (pDlg->m_mainframe.rows > 0)
- {
- pDlg->showImage(pDlg->m_mainframe, IDC_PIC);
- }
- }
- }
复制代码 |