MFC+HALCON+相机SDK实现图像的显示

  1. 在资源属性中新建一个Picture控件,ID设置为IDC_HWindow ,Type属性设置为Owner Draw,将控件拉至合适大小
  2. 在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);
  3. 在相机采集回来的图像数据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);
  4. 在对话框关闭时,关闭Halcon窗口和相机
    CameraStop();
    CameraUnInit();
    close_window(m_HWindowID);





你可能感兴趣的:(MFC)