1.安装pycharm,安装Community Edition即可,商业版需要收费的:
下载地址:https://www.jetbrains.com/pycharm/
2.安装Anaconda:
https://www.anaconda.com/products/individual
安装位置:
配置参考文章:https://zhuanlan.zhihu.com/p/61639212
这里需要说明的是,Anaconda已经是Python的发布版了,里面集成了python的,所以我这里都没有提供单独安装python的步骤!
和上面配置文章不一样的一点是我只加入了系统环境变量:
最后安装完成以后的环境path设置为:
特别提示:安装路径中不要含有空格之类的特殊符号,否则导致后面无法加载环境。
为了方便大家下载,整合了安装包下载地址:
链接:https://pan.baidu.com/s/1-K1waLd_dCxznkLlTrvzAQ
提取码:游客,本帖隐藏的内容需要积分高于 5 才可浏览,您当前积分为 0
3.打开pycharm软件,新建工程:
设置location为:D:\Halcon_Python
其中,这一部分就是虚拟环境目录:
- C:\Users\Criss\anaconda3\envs\
复制代码
后面我们创建halcon的虚拟环境就在这个目录下。
4.进入工程后,打开Terminal(终端),输入指令:
- conda create -n halcon python=3.8
复制代码
这句代码的意思就是创建名称为halcon的环境,使用的是python 3.8版本。
创建完环境以后就提示需要安装一些包:
输入y确认即可。安装完成以后就可以去刚刚的环境目录查看halcon环境目录已经成功创建了。
然后切换到halcon环境目录:
就可以切换到halcon的环境了。
这里我试过切换成功了,后面import halcon是找不到的,估计没有成功。
可以通过手动去改解释器也可以正常,请看后面的说明。
激活halcon后,查询下包列表:
可以看到当前是没有安装halcon的包的,所以接下来我们需要安装halcon的包:
输入指令:
- pip install mvtec-halcon==20110
复制代码
提示成功安装mvtec-halcon-20110.0.0,这里需要注意的是,不能开启代理上网功能,否则无法正常安装。
虽然 PEP 440 和扩展 PyPI 不需要 SemVer,但 HALCON/Python 和其他语言接口包遵循 SemVer 方法以避免不必要的冲突和工具问题。
但是,HALCON 版本不兼容 SemVer,因此 Python 包通过将主要版本、次要版本和修订版本组合成一个新的主要版本来接收 SemVer 兼容版本,例如:
- 20.11.0 → 20110.0.0
- 22.11.0 → 22110.0.0
- 22.11.1 → 22111.0.0
复制代码
再次查询下包列表:
可以看到增加了一个mvtec-halcon的包,说明已经成功安装了halcon支持。
接下来就可以在工程中创建一个halcon_demo.py的文件来运行下halcon代码了。
输入:
第一次写这个代码的提示halcon是没有找到的模块(很明显就是没有加载成功halcon环境)。
点击"File"->"Settings"定位到下图位置:
在Python Interpreter中,发现还是用的Halcon_Python环境,这里如果没有halcon的就添加解释器即可,有的话直接选择halcon(参考上图)即可。
可以看到halcon环境中有mvtec-halcon模块以及它的版本信息20110,有了这个就可以使用halcon模块了。
这个时候回到工程,发现halcon模块已经没有报错了。
如果觉得命令行不好操作,那也可以直接用pycharm直接配置安装
这里说明下,默认是自带的包管理器是没有mvtec的包的,我们需要切换到anaconda的包管理仓库,点击上图anaconda标识即可切换。
然后再点击“+” 进行搜索“mvtec-halcon”包进行安装,等待完成即可,然后再切回到标准的包列表。
正式书写测试代码:
- import halcon as ha
- import os
- if __name__ == '__main__':
- img = ha.read_image('pcb')
- width,height = ha.get_image_size_s(img)
- window = ha.open_window(
- row=0,
- column=0,
- width=width,
- height=height,
- father_window=0,
- mode='visible',
- machine=''
- )
- region = ha.threshold(img,0,122)
- num_regions = ha.count_obj(ha.connection(region))
- print(f'Number of Regions:{num_regions}')
- ha.disp_obj(img,window)
- os.system("pause")
复制代码
右键Run 'halcon_demo(1)'这个选项,不出意外就可以运行了。
可以看到底部打印出的数据还有打开的窗口图像:
以及打开的窗口图像:
记得最后把图片放到*.py文件同一级即可,该图片的位置在:
- C:\Users\Public\Documents\MVTec\HALCON-20.11-Progress\examples\images\pcb.png
复制代码
记得把20.11的halcon.dll、halconc.dll、halconcpp.dll、hdevenginecpp.dll放到py文件同级方便运行。
下载地址:https://www.51halcon.com/thread-4474-1-1.html
安装完Halcon20.11 Windows主程序以后就可以在安装目录bin/x64-win64下面拷贝了。
如果不拷贝就会出现打开的窗口是白色的,什么都没有。
程序和图像下载:
链接:https://pan.baidu.com/s/16i1lCSIfHY59qVwxGSSMdg
提取码:游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0
最后,如果代码无法查找到定义或者智能提示,是由于解析文件超大导致的,需要修改配置:
修改位置:Helper -> Edit Custom Properties...
如果文件不存在,则会新建,然后加入代码:
- idea.max.intellisense.filesize=25000
- idea.max.content.load.filesize=200000
复制代码 限定超过2.56MB不加载,我们改大些,25000代表25MB足够了。
重启Pycharm即可正常。
|