一、Halcon破解版下载及安装教程
地址:https://jingyan.baidu.com/article/7082dc1c21a7a7e40a89bd09.html
二、VC配置Halcon
1、项目—》属性—》c/c++—》常规—》附件包含目录-》添加/include和/include/halconcpp两个目录;
2、链接器—》常规—》附加库目录—》添加lib/x64_win64目录;
3、链接器—》输入—》附加依赖项—》编辑为halconcpp.lib;
4、配置动态链接库,将bin/x64_win64里所有的dll文件拷贝到项目中,每次新建个项目都需要这么做较繁琐,这里直接在系统环境变量中配置路径,将该路径拷贝到系统环境变量的path中,以分号结束即可,第一次需重启;
5、在vc程序中添加#include“halconcpp.h”头文件和using namespace HalconCpp命名空间。
至此,halcon在vc中的配置全部结束,但每次新建个项目都需要进行上面的配置太麻烦,可以在项目属性表里添加新项目属性表,保存在一路径后再在项目属性表中打开进行上面的配置保存,下次使用直接在项目属性表中添加现有属性表,找到该属性表即可。
三、halcon联合vc实现图像的采集显示
1、在halcon中完成程序的实现,导出为c++格式;
2、新建项目—》vc++—》MFC,下一步选择基于对话框点击完成;
3、配置halcon,添加现有属性表;
4、打开资源视图,将对话框中默认的控件删除,添加自己需要的控件;
5、双击button控件,打开消息响应函数,在该函数中添加#include“halconcpp.h”头文件和using namespace HalconCpp命名空间;
6、将c++格式的halcon程序打开,复制void action()函数里面的代码到消息响应函数里即可。
消息响应函数如下:
//halcon中只用看action里面的代码,将其拷过来即可
void CMFCApplication1Dlg::OnBnClickedButton1()
{
//halcon中只有图像、区域、XLD为Object类型,其余都为Tuple类型
HObject ho_Image1;
HTuple hv_Width, hv_Height, hv_WindowHandle,kuan,gao;
//定义一个句柄
HWND hwnd;
//GetDlgItem(ID号),通过ID号得到该控件,通过指针访问其成员变量
//每个控件都有个成员变量m_hWnd,即该控件的句柄,
hwnd = GetDlgItem(IDC_STATIC)->m_hWnd;
//强制类型转化
LONG windowID = (LONG)hwnd;
//定义一个矩形变量
CRect rect;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
kuan[0] = rect.Width();
gao[0] = rect.Height();
ReadImage(&ho_Image1, "C:/Users/Administrator/Desktop/halcon/第八讲、halcon联合vc/1.jpg");
GetImageSize(ho_Image1, &hv_Width, &hv_Height);
SetWindowAttr("background_color", "black");
//得到控件的句柄,放入第五个参数,即在该控件上打开一个窗口,
//获得控件窗口的宽和高,分别放入第三、四个参数,则图像在整个控件窗口上显示
OpenWindow(0, 0, kuan[0], gao[0], windowID, "", "", &hv_WindowHandle);
HDevWindowStack::Push(hv_WindowHandle);
if (HDevWindowStack::IsOpen())
DispObj(ho_Image1, HDevWindowStack::GetActive());
}
编译执行,点击采集图像按钮,运行结果入下:
四、halcon卸载
找到halcon安装目录下misc目录下,比如x86版本的找到\MVTec\HALCON-12.0\misc\x86-win32\目录,运行下面的uninstall.exe文件即可卸载!
转:https://blog.csdn.net/qq_24946843/article/details/82079862