HaIcon17.12与MFC混合编程 环境配置

环境:Halcon17.12和 VS2015

1、首先创建一个MFC工程,取名MFCHaiconTest

2、将Halcon相关路径导入到工程

(1)首先将Halcon安装目录include和cpp目录导入到VC++目录中Include Directories(包含目录)。具体操作,直接在解决方案右击项目->属性。即可。具体目录参考(不同安装路径不同,版本基本一致):F:\Program Files\MVTec\HALCON-17.12-Progress\include,F:\Program Files\MVTec\HALCON-17.12-Progress\include\halconcpp

 

(2)其次将Halcon相应库文件导入到工程。具体将F:\Program Files\MVTec\HALCON-17.12-Progress\lib\x64-win64导入到工程连接器->常规->附加库目录中。如下图所示

(3)最后将halconcpp.lib导入到MFC中连接器->输入->附加依赖项中。如下图。

3、配置基本完成,接下来进行测试。

在MFCHaiconTest.h中添加如下声明

#include "HalconCpp.h";
#pragma comment(lib,"halconcpp.lib")
using namespace HalconCpp;

还是新建一个对话框程序,然后添加一个按钮和一个PictureControl控件,控件的ID默认为IDC_STATIC。

然后双击按钮填写按钮的响应函数,这里为了方便把halcon的变量直接定义在了响应函数中:

void CMFCHicontTestDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码

    HObject  ho_Image;
    HTuple HWindowID;
    CRect Rect;
    HTuple m_HWindowID;
    HTuple m_ImageWidth, m_ImageHeight;

    CWnd * pWnd = GetDlgItem(IDC_STATIC);
    HWindowID = (Hlong)pWnd->m_hWnd;//获取父窗口句柄
    pWnd->GetWindowRect(&Rect);
    OpenWindow(0, 0, Rect.Width(), Rect.Height(), HWindowID, "visible", "", &m_HWindowID);
    //显示静态图片
    ReadImage(&ho_Image, "E:/壁纸/car.jpg");
    GetImagePointer1(ho_Image, NULL, NULL, &m_ImageWidth, &m_ImageHeight);
    SetPart(m_HWindowID, 0, 0, m_ImageHeight - 1, m_ImageWidth - 1);
    DispObj(ho_Image, m_HWindowID);
}

使用OpenWindow时将PictureControl控件的大小传进去,作为开辟的Halcon窗口的大小,这样两个窗口叠加在一起了。

SetPart是Halcon函数,作用是调整图片在窗口中的位置(设定图片左上角坐标和右下角坐标)

最后实现的效果如下:

参考博文:https://blog.csdn.net/qq_33850438/article/details/78175445

https://www.cnblogs.com/oucsheep/p/5911839.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值