halcon + vs2017联合使用显示图片

本教程详细介绍了如何在VS2017中结合Halcon12显示图片。首先在Halcon环境中读取图片并导出为C++程序,然后在VS2017中新建MFC工程,配置包含目录、库目录等,并将Halcon代码移植到VS项目中,通过点击按钮实现图片显示。关键步骤包括Halcon工程的创建、C++代码的生成与整合以及VS工程的配置。
摘要由CSDN通过智能技术生成


一、halcon12与vs2017联合使用案例

先看案例的结果

案例结果

点击开始按钮显示图片
在这里插入图片描述

二、使用步骤

1.新建Halcon工程,读入图片

代码如下(示例):

read_image(Image,'E:/Images/Display/renwu1.jpg')
dev_open_window_fit_image(Image,0,0,-1,-1,WindowHandle)
dev_clear_window()
dev_display(Image)

2.Halcon中读入图片的结果

在这里插入图片描述

3.将Halcon程序导出为C++程序

在这里插入图片描述
在这里插入图片描述
导出之后就能在对应路径下看到一个Halcon.cpp文件,这个文件的内容如下:

先声明并给出了函数dev_open_window_fit_image的定义:

void dev_open_window_fit_image (HObject ho_Image, HTuple hv_Row, HTuple hv_Column,
HTuple hv_WidthLimit, HTuple hv_HeightLimit, HTuple *hv_WindowHandle);

然后是函数Action的定义,Action里的代码对应着刚才Halcon中的代码,简单地说,就是把Halcon语言翻译成C++了。

代码如下(示例):

// Main procedure 
void action()
{

  // Local iconic variables
  HObject  ho_Image;

  // Local control variables
  HTuple  hv_WindowHandle;


  ReadImage(&ho_Image, "E:/Images/Display/renwu1.jpg");
  dev_open_window_fit_image(ho_Image, 0, 0, -1, -1, &hv_WindowHandle);
  if (HDevWindowStack::IsOpen())
    ClearWindow(HDevWindowStack::GetActive());
  if (HDevWindowStack::IsOpen())
    DispObj(ho_Image, HDevWindowStack::GetActive());

}

配置vs2017

新建MFC工程

按照vs新建对话框工程,添加开始按钮
在这里插入图片描述

配置步骤

1、菜单栏的视图->属性管理器右键属性(注意修改为x64),包含目录

在这里插入图片描述

2、VC++库目录

在这里插入图片描述

3、在C/C++目录中

在这里插入图片描述

4、链接器-常规

在这里插入图片描述

5、链接器-输入

在这里插入图片描述

6、显示图片

为了实现显示图片的功能,在对话框中添加一个按钮,并双击按钮进入事件响应函数

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

}

7、添加头文件

#include"HalconCpp.h"
using namespace HalconCpp;

在这里插入图片描述

8、拷贝halcon.cpp中的函数dev_open_window_fit_image

声明在HalconCameraDlg.h
定义在HalconCameraDlg.cpp

注意:在类外声明!!!

9、把Action中的代码拷贝到OnBnClickedButton1() 中,这样点击按钮就会执行在halcon中实现的显示图片功能了

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

  // Local iconic variables
	HObject  ho_Image;

	// Local control variables
	HTuple  hv_WindowHandle;


	ReadImage(&ho_Image, "E:/Images/Display/renwu1.jpg");
	dev_open_window_fit_image(ho_Image, 0, 0, -1, -1, &hv_WindowHandle);
	if (HDevWindowStack::IsOpen())
		ClearWindow(HDevWindowStack::GetActive());
	if (HDevWindowStack::IsOpen())
		DispObj(ho_Image, HDevWindowStack::GetActive());
}

三、结果

在这里插入图片描述

Note:

文中配置halcon的路径根据自己按照的路径来配置,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值