近几年随着深度学习的发展Python也越来越火了,那么作为专业的视觉软件--Halcon20.11也提供了Python接口的支持,下面简单介绍一下Halcon/ Python接口的使用步骤并做demo演示。

    (1) Halcon Python接口使用文档(官网说明已经告诉你在下面pdf的Part IV),打开pdf从13章节开始介绍;

Halcon20.11 Python接口使用步骤演示_Python开发

Halcon20.11 Python接口使用步骤演示_Python开发_02

    (2) Python中安装halcon包。pip install mvtec-halcon==20111

Halcon20.11 Python接口使用步骤演示_Python教程_03

特别注意:

I. Python版本必须大于等于3.8;

II. 安装版本信息对应如下,20111对应20.11.1(下面图片的22应该是写错了)

Halcon20.11 Python接口使用步骤演示_Python教程_04

    (3) 导入halcon包。一般使用import halcon as ha

Halcon20.11 Python接口使用步骤演示_Python开发_05

如果import halcon模块没有报错,就算安装成功了,可以进入写代码阶段。

    (4) Python中使用halcon注意事项。函数如何使用?参数如何用?

第一种方法:halcon F1帮助文档中看对应算子的python函数接口;

Halcon20.11 Python接口使用步骤演示_Python教程_06

第二种方法:在PyCharm或者VSCode中输入时或者转到定义查看函数说明

Halcon20.11 Python接口使用步骤演示_Python开发_07

Halcon20.11 Python接口使用步骤演示_Python教程_08

Halcon20.11 Python接口使用步骤演示_Python开发_09

    (5) Python调用Halcon Demo演示。

import halcon as ha 
Image = ha.read_image('pcb')Width, Height = ha.get_image_size(Image)print(Width[0], Height[0])WindowHandle = ha.open_window(0, 0, Width[0]/2, Height[0]/2,                             father_window=0,mode='visible',machine='')
gray = ha.rgb1_to_gray(Image)thres = ha.threshold(gray, 100, 200)
ha.disp_obj(Image, WindowHandle)ha.wait_seconds(2)ha.clear_window(WindowHandle)ha.disp_obj(thres, WindowHandle)ha.wait_seconds(5)

上述代码简单实现读取图片,二值化显示,先显示原图然后间隔2s显示二值化图(为什么这么做,VSCode中不加wait_seconds函数显示窗口一闪而过,啥也看不到,在Python自己的IDLE里面显示窗口可以停留,原因暂时未知)

运行效果:

Halcon20.11 Python接口使用步骤演示_Python教程_10

Halcon20.11 Python接口使用步骤演示_Python开发_11

    其他算子对应的python接口函数可以用上面说的方法查看。更多视觉图像处理内容请关注公众号:OpenCV与AI深度学习。感谢!