1、应用背景
在实际应用中,程序往往需要既能完成图像的连续抓取显示(监视功能),又需要能实现单帧抓取做图像处理。
实际上连续抓取在实现上就是循环单次抓取,只是需要单独开辟线程来实现。
2、实时刷图线程
1)开启线程:
HANDLE hThreadControl = ::CreateThread(NULL, 0, ThreadControl, (LPVOID)this, 0, 0);
2)线程实现:
while(1)
{
m_Camera.SingleGrab();
set_part(m_hHalconWnd, 0 0, 480-1, 640-1);
disp_obj(m_ImageThreadBuf, m_hHalconWnd);
}
3)变量说明:
m_Camera相机对象,用于封装SingleGrab()单帧抓取函数,后面有描述;
m_hHalconWnd窗口句柄,类型Htuple;
m_ImageThreadBuf图像数据,类型Hobject;
3、单帧抓取原理
1)抓包图像处理回调函数
int WINAPI CCameraDlg::I