|
目录前言方法法1:(导入python版halcon库,复现代码)法2:(封装函数,直接调用.hdev文件)前言在项目开发过程中,若遇到需要将Halcon的图像处理代码加载到C++项目中,此时仅需将Halcon代码导出为C++形式即可。若需要将Halcon代码移植到python项目中,此时导出选项无python形式,又该如何实现?本博客将介绍Python联合Halcon的两种常用方法方法法1:(导入python版halcon库,复现代码)----------适用于代码较少较为简单的情况。------------基本要求:Python版本>=3.8;Halcon版本>=20.111、新建虚拟环境(若Python版本满足条件,则可跳过)打开anacondaprompt,输入如下指令,点击回车。condacreate-nhalconpython=3.8//halcon为环境名称1键入y,开始创建。出现如下信息,即为创建成功。2、安装Halcon库输入以下指令,激活环境。activatehalcon(对应环境名称)1输入以下指令,进行Halcon库安装。pipinstallmvtec-halcon==201101tip:20110为电脑安装的Halcon版本号,可通过打开Halcon,点击帮助->关于进行查看。出现如下画面,即为安装成功。3、测试验证安装是否成功新建.py文件,输入以下代码,导入halcon库。importhalconasha1测试代码:WindowHandle=ha.open_window(0,0,500,400,father_window=0,mode='visible',machine='')Image=ha.read_image('die/die_03')#调整窗口中图像的显示区域(风险:图像会根据设置窗口尺寸比例拉伸)#width,height=ha.get_image_size(Image)#ha.set_part(WindowHandle,0,0,height,width)#窗口显示完整图像区域ha.disp_obj(Image,WindowHandle)ha.wait_seconds(5)1234567能成功运行,即说明安装成功。4、代码复现Halcon里算子名称与python中对应的函数名基本相似,使用时根据其对库中的相应函数进行调用即可。例如:halcon:pythonieGrey=ha.read_image('die/die_03')ha.disp_obj(DieGrey,WindowHandle)12法2:(封装函数,直接调用.hdev文件)----------适用于代码较多较为复杂的情况。------------基本要求:Python版本>=3.8;Halcon版本>=20.11,仍需安装好halcon库(参照法1:(1-3))。1、将代码中较复杂部分进行封装以如下Halcon代码为例。将图像处理部分进行封装,即7-9行代码。步骤1:选中该部分代码。步骤2:点击函数->创建新函数,设置名称和相关变量,点击确定。此时代码中相应部分已由自定义的函数替代。(选中函数名右键,可选择显示函数内部代码)2、设置接口步骤1:在python中编写好未进行封装的前、后处理代码。步骤2:加载.hdev文件中的自定义函数(test2)。program=ha.HDevProgram('C:/Users/professionalteam/Desktop/ball.hdev')proc=ha.HDevProcedure.load_local(program,'test2')proc_call=ha.HDevProcedureCall(proc)123步骤3:在对应代码位置调用该函数。#设置输入变量Image(形参名)proc_call.set_input_iconic_param_by_name('Image',Image)proc_call.execute()#执行#接收输出变量DieGrey(形参名)result=proc_call.get_output_iconic_param_by_name('DieGrey')12345步骤4:完整代码如图所示。运行文件,能正常显示结果即为成功。------tbc-------有用请点个👍哦~~😀
|
|