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

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\include
C:\Program Files\MVTec\HALCON-13.0\include\halconcpp

库文件lib[附加依赖项]:
halcon.lib
halconc.lib
halconcpp.lib
halconcpp10.lib
halconcpp10xl.lib
halconcppxl.lib
halconcxl.lib
halconx.lib
halconxl.lib
halconxxl.lib
hdevenginecpp.lib
hdevenginecpp10.lib
hdevenginecpp10xl.lib
hdevenginecppxl.lib
hdevenginex.lib
hdevenginexxl.lib

测试时需包含的头文件:
#pragma once
#ifndef __APPLE__
#include "HalconCpp.h"
#else                                       
#ifndef HC_LARGE_IMAGES
#include <HALCONCpp/HalconCpp.h>
#else
#include <HALCONCppxl/HalconCpp.h>
#  endif
#endif
using 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!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值