MFC+HALCON+相機SDK實現影象的顯示
- 在資源屬性中新建一個Picture控制元件,ID設定為IDC_HWindow ,Type屬性設定為Owner Draw,將控制元件拉至合適大小
- 在OnInitDialog實現將Halcon新建的影象顯示窗體顯示在Picture控制元件中去
CRect rc; CRect DialogRect; GetClientRect(&DialogRect); set_window_attr("background_color","white"); GetDlgItem(IDC_HWindow)->MoveWindow( CRect(0,0,DialogRect.Width()/2,DialogRect.Height())); HWND hImageWnd=GetDlgItem(IDC_HWindow)->m_hWnd; GetDlgItem(IDC_HWindow)->GetClientRect(&rc); open_window(0,0,rc.Width(),rc.Height(),(Hlong)hImageWnd,"visible","",&m_HWindowID);
- 在相機採集回來的影象資料pBuffer轉換成Halcon影象資料並顯示.
gen_image_interleaved(&m_Image,(long)pBuffer,"bgr",m_ImageWidth,m_ImageHeight,0,"byte",m_ImageWidth,m_ImageHeight,0,0,8,0); disp_obj(m_Image,m_ERR_HWindowID);
- 在對話方塊關閉時,關閉Halcon視窗和相機
CameraStop(); CameraUnInit(); close_window(m_HWindowID);