halcon13初探,显示一张图片(c++)

来源:互联网 发布:网络词语woc是什么意思 编辑:程序博客网 时间:2024/06/05 11:27

halcon13初探,显示一张图片(c++)

目的:将halcon的窗口嵌入到MFC当中,并显示一张图片;
1、配置

可执行文件目录bin:C:\Program Files\MVTec\HALCON-13.0\bin\x64-win64库目录lib:C:\Program Files\MVTec\HALCON-13.0\lib\x64-win64包含目录include:C:\Program Files\MVTec\HALCON-13.0\includeC:\Program Files\MVTec\HALCON-13.0\include\halconcpp库文件lib[附加依赖项]:halcon.libhalconc.libhalconcpp.libhalconcpp10.libhalconcpp10xl.libhalconcppxl.libhalconcxl.libhalconx.libhalconxl.libhalconxxl.libhdevenginecpp.libhdevenginecpp10.libhdevenginecpp10xl.libhdevenginecppxl.libhdevenginex.libhdevenginexxl.lib测试时需包含的头文件:#pragma once#ifndef __APPLE__#include "HalconCpp.h"#else                                       #ifndef HC_LARGE_IMAGES#include <HALCONCpp/HalconCpp.h>#else#include <HALCONCppxl/HalconCpp.h>#  endif#endifusing namespace HalconCpp; 

在测试中发现了问题,如果出现了:HalconCpp::HOperatorException
请使用try catch捕获异常并进行显示,是什么错则一目了然。
如下:

try{    ///这里是Haclon代码    }    catch(HException &except){        MessageBox(CString(except.ErrorMessage()));     }

配置完成后,进行一个简单的测试,为了方便,我把所有操作都写到一个按钮控件下了:

    HObject  ho_Image;    ReadImage(&ho_Image, "C:/Users/wangyang/Desktop/7Color8B.png"); //加载图片    CWnd *pWnd = GetDlgItem(IDC_P);     CDC *pDC = pWnd->GetDC();     CRect Rect;     pWnd->GetClientRect(&Rect); //获取MFC中Picture控件Rect    HTuple wndID = (Hlong)pWnd->m_hWnd; //获取picture控件ID号    HTuple HwndID; //Halcon的窗口ID    OpenWindow((Hlong)Rect.top, (Hlong)Rect.left, (Hlong)Rect.Width(), (Hlong)Rect.Height(), (Hlong)wndID, "visible", "", &HwndID); //将MFC控件ID以及其尺寸等信息传给Halcon窗口控件    HTuple hWidth, hHeight;     GetImageSize(ho_Image, &hWidth, &hHeight); //获得图像的尺寸    SetPart(HwndID, 0, 0, hHeight, hWidth); //设置控件要显示的像素尺寸    DispObj(ho_Image, HwndID); //显示图像

so easy!

0 0
原创粉丝点击