halcon安装以及配置

  • Post author:
  • Post category:其他

halcon简介

halcon是工业领域最著名的商业视觉软件,性能很好,当然也贵。
opencv是开源的,免费,但是不好用,需要自己写算法,太花时间和精力,所以准备尝试一下halcon

halcon安装

我安装的是21.05版,版本号为21050,属于是比较新的版本,license的话,官方每个月都提供可以试用1个月的试用License,每月更换的话,可以一直用。网上很多提供的,自行搜索。
安装没啥说的,正常安装,装完之后将License文件放入相应目录即可。
都弄好以后,桌面会出现2个图标
在这里插入图片描述
一个带XL,另一个不带,2个的区别是XL是专门用来处理超大图片文件,32k * 32k以上的图片用这个,一般的图片处理用不带XL的那个就可以了

anaconda安装

anaconda官网下载最新版本,我安装的是2022.05版本
安装的时候勾选路径选项,两个都勾上
在这里插入图片描述
我的安装路径是C:\anaconda3,记住这个路径,后面配置环境的时候要用到,在C:\anaconda3\envs。
装好以后是自带py thon3.9,还有很多常用的库,省得一个一个去装了。

Anaconda的配置

在windows中用管理员权限打cmd.exe,输入conda create -n halcon python=3.9,即可在C:\anaconda3\env下创建一个名为halcon的开发环境。然后输入conda activate halcon激活halcon环境,可以看到提示符发生了变化
在这里插入图片描述

安装Halcon库

继续安装Halcon库,pip install mvtec-halcon==21050,21050就是我安装的Halcon的版本号,这个数字一定要和已经安装的Halcon对应。可以在Halcon运行后,帮助–关于中找到版本信息。
在这里插入图片描述
安装完后,输入conda list
在这里插入图片描述
可以看到箭头所指的Halcon库已经安装。

pyCharm

我用的IDE是PyCharm,安装见这篇文章,跳过第1步即可。https://blog.csdn.net/13011803189/article/details/125114038
也可以直接去PyCharm官网下载,用免费的社区版就可以了,商业版的要收费,没必要。

新建工程

在这里插入图片描述
然后在Halcon的安装目录中复制halcon.dll, halconc.dll, halconcpp.dll, hdevenginecpp.dll 这4个文件到新建的工程中,版本对应的原因就在于此。版本号不同虽然大多数情况下也能用,但不能保证完全兼容。
我的Halcon安装目录是默认的,C:\Program Files\MVTec\HALCON-21.05-Progress\bin\x64-win64
弄好以后,在Pycharm中是这样的
在这里插入图片描述

Halcon在Pycharm中编程

第1个程序 ,测试环境

main.py中的内容如下,不用作任何修改,直接复制粘贴即可

import halcon as ha
import os

if __name__ == '__main__':
    img = ha.read_image('pcb')
    width, height = ha.get_image_size_s(img)
    print(width, height)

如果前面所有操作无误,应该会有打印输出
1109 871

第2个程序,显示窗口

halcon的函数很直观明了。

import halcon as ha

Image = ha.read_image('claudia')	# 读图片,默认文件夹中保存了许多PNG格式的图片
Width, Height = ha.get_image_size(Image)
print(Width, Height)

# 打开一个窗口
WindowHandle1 = ha.open_window(0, 0, Width[0]/2, Height[0]/2,
                            father_window=0,mode='visible',machine='')

gray = ha.rgb1_to_gray(Image)	# RGB转灰度
thres = ha.threshold(gray, 100, 200)	# 灰度转二值化

ha.disp_obj(Image, WindowHandle1)	# 显示原图片
ha.wait_seconds(2)
ha.disp_obj(gray, WindowHandle1)	# 显示灰度图片
ha.wait_seconds(2)
ha.disp_obj(thres, WindowHandle1)	# 显示二值化后的图片
ha.wait_seconds(2)

接下来就是学习各种算子了,这个推荐在Halcon自带的开发环境中进行,测试完成后再移植到这边即可。

需要注意的是,在halcon中编程的算子用法和在Python不太一样,比如最简单的在Halcon中读取一幅图像是这样,读取图像后,img作为图像变量是包含在函数调用中的:

read_image (img, 'pcb')

但是在Python中读取是这样,img是作为函数的返回参数:

img = ha.read_image('claudia')

涉及到变量操作的似乎都是如此,其他的异同随着学习的深入再看情况。

容易忽略的

4个DLL文件要复制到当前的项目目录中。
当前开发环境要安装halcon支持库: pip3 install mvtec-halcon==21050


版权声明:本文为13011803189原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。