ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

HALCON: 本地程序函数(.hdev或.dev)、HDevelop函数文件或外部函数(.hdvp)及库函数(.hdpl)使用详解

2021-09-18 13:31:32  阅读:180  来源: 互联网

标签:hdev 函数库 程序 Halcon 库函数 打包 函数


以Halcon17版本为例,其对算子的打包方式分为以下三种:

  1. 本地程序函数,后缀名:.hdev或.dev
  2. HDevelop函数文件,后缀名:.hdvp
  3. 库函数,后缀名:.hdpl

本地程序函数

将可以实现某一个功能的一系列算子打包成一个函数,其作用域只是当前程序,不可被其它程序使用,该函数称为本地程序函数。当程序过于庞大时,通过将各个功能模块打包成本地函数的方式,可以使算法逻辑更加清晰。

其打包方式为:选中所有要打包的算子——单击鼠标右键,选择“创建新函数”——“类型”一栏,选择“本地程序函数”——最后设置函数名及输入输出参数。

HDevelop函数文件

试想一种情况:当两个算法工程师合力编写一个程序时,乙方编写的主程序需要调用甲方编写的某一个功能模块。此时如果甲方仍然将功能模块打包成本地程序函数,那么甲乙两人想要实现对接会变得极其繁琐。这时候就要用到HDevelop函数文件,即非本地程序函数。

其打包方式为:选中所有要打包的算子——单击鼠标右键,选择“创建新函数”——“类型”一栏,选择“HDevelop函数文件”——最后设置函数名及输入输出参数。

Halcon有一个默认的路径专门用来存放外部函数(非本地函数)。我的Halocn安装在了D盘,默认路径如下图所示。函数创建完毕后,可在此路径下找到。

当然我们也可以将外部函数存储在其它路径(不推荐),如下图所示:

无论将外部函数保存在哪里,只要该目录被添加到了外部函数目录列表中,我们新建halcon程序都可以调用该外部函数。

库函数

当我们有多个模块需要打包成非本地函数时,上述方式会导致外部函数目录列表下出现多个文件,甲乙双方对接时难免会有些繁琐。因此Halcon提供了库函数的功能,我们可以将多个外部函数打包到一个库函数里。相当于C++中的DLL模块

假设现在有Add、Mul两个功能模块需要打包到一个库函数里,其打包方式为:

首先将两个功能模块分别打包为对应的两个HDevelop函数文件
然后在Halcon菜单栏选择“函数”——管理函数——函数——管理函数库
创建新的函数库——选中新创建的函数库,然后添加函数文件——保存


如下图所示,经过上述操作,函数库中已经包含了两个函数:

当我们已经建立好了一个函数库,在Halcon中可以将一个新打包的函数直接保存在该函数库里,如下图所示:

调用库函数
如果想要在其它电脑上使用Halcon并调用该库函数,需要如下两步:

把该库函数文件复制到Halcon的外部函数目录中
打开Halcon,在菜单栏中选择函数——管理函数——添加库

标签:hdev,函数库,程序,Halcon,库函数,打包,函数
来源: https://blog.csdn.net/liubing8609/article/details/120365368

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有