HALCON 引擎学习一
HALCON与C#结合处理图象时,通常情况是将HALCON图像处理部分导出C#代码,然后执行。而HALCON提供了一种脚本执行算法的方式,该方式的优点是:1、C#代码与HALCON图像处理分离,不需要将HALCON图像处理部分导出成C#代码,否则每一次修改HALCON 时,C#相应部分就需要跟着更改,便捷性不足。2、脚本方式执行算法可降低内存泄漏。
下面介绍使用HALCON引擎执行脚本基础部分:使用的是VS2017和HALCON20.11学习版。
在项目中添加下面两个库文件
主要用得到的类:HDevEngine、HDevProgram、HDevProgramCall、HDevProcedure、HDevProcedureCall、HDevOpMultiWindowImpl、HDevEngineException。
HDevEngine类是管理全局设置。如设置或获取全局变量的值、设置脚本路径、启动停止调试模式等。
HDevProgram类加载.hdev格式文件以及获取文件内部参数一般信息。
HDevProgramCall类执行.hdev文件格式脚本,并获取变量的值。
HDevProcedure类加载.hdvp格式外部函数以及内部函数。
HDevProcedureCall类执行.hdvp外部函数和内部函数。并且可以设置或获取外部函数、内部函数参数。
HDevOpMultiWindowImpl类主要是与显示结果相关,在脚本中执行的结果可以显示在C#中。
HDevEngineException类是引擎相关的异常类。
例子中,展示了三种不同的方式的基本使用:
方式一:执行.hdev格式。无任何封装函数,该种方式重用性差,无法设置参数。
方式二:路径+.hdvp格式。该方式比较推荐使用,可设置输入参数,获取输出参数,重用性好。
方式三:调用.hdev中的封装函数(外部函数、内部函数)。该方式优点在于方便在HALCON中读图调试。
源码下载
HALCON 引擎学习一相关推荐
- C#中调用halcon引擎来执行hdev程序
调用halcon引擎有两个直接的好处: 避免C# 与halcon代码混编时可能产生的内存泄露问题 修改halcon程序时不用重新编译C# 勇哥写了一个示例,详细的应用感受和缺点限制勇哥会持续做相关的总 ...
- C#调用 Halcon引擎执行代码
Halcon引擎可以直接执行halcon代码,把halcon程序当做C#的一个方法来调用,这样可以减轻C#这边的程序负担,而且可以避免内在泄露等bug的出现.还有一种好处是方便调试视觉代码,你只需要启 ...
- Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子
Halcon算子学习:图像阈值分割算子 前言 1.threshold-全局固定阈值分割 2.Binary Threshold-自动全局阈值分割 3.dyn_threshold-局部动态阈值分割 小结: ...
- Halcon算子学习:XLD几种边缘连接函数
Halcon算子学习:XLD几种边缘连接函数 1.union_cotangential_contours_xld (Contours : UnionContours : FitClippingLeng ...
- ue4 迁移模型_UE4虚幻引擎学习云笔记(六)-关卡设计入门-[5.地形快速入门]
[六.关卡设计入门(Level Designer Quick Start)] 19-09-29 UE4虚幻引擎学习云笔记(六)-关卡设计入门zhuanlan.zhihu.com UE4虚幻引擎学习云 ...
- Halcon例程学习:adaption_ocv.hev(光学字符检测)
**************************************************************************************************** ...
- Halcon例程学习:print_check.hev(光学字符检测)
**************************************************************************************************** ...
- velocity(vm)模板引擎学习介绍及语法
velocity模板引擎学习 velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,( ...
- ue4 改变枢轴位置_UE4虚幻引擎学习云笔记(五)-静态网格体编辑器
[五.静态网格体编辑器(Static Mesh Editor)] 19-09-26 静态网格体编辑器一般用以分配材质至静态网格体,每个LOD可以有不同材质. 静态网格体编辑器(Static Mesh ...
最新文章
- The Long-Term Stability of Ecosystems
- 单链表-逆置单链表(头插法且双指针)
- Transformer霸榜全景分割任务,南大、港大提出一种通用框架!
- cdoj 1131 男神的礼物 区间dp
- 【NOIp模拟】【二分答案】电缆老板
- 利用Javascrip实现web窗体的打开和关闭后的刷新
- PHP错误处理注册机制
- 神经网络之激活函数(activation function)
- centos 切换用户_【站长亲测】迈拓维矩kvm切换器8口usb高清VGA显示器鼠标键盘切屏共享器8进1出...
- 计算机基础知识之信息技术初步
- 数列求和-加强版(C语言)
- 微信小程序 评论功能实现
- sqlite3错误原因
- ARM Translation 下载 | ARM Translation Download
- 【二维码识别】灰度+二值化+校正二维码生成与识别【含GUI Matlab源码 635期】
- 电路设计_USB转串口,CH340T和341T心得
- 转] 女生皮肤必修课(哇哇,这么全的,怕以后找不到,是姑娘就转了~~)
- 奔向光明阿波罗(2)
- 无人机服务器通信协议软件设计,无人机飞行管控系统及其数据处理软件设计
- 企业微信 被动回复 没反应问题
热门文章
- 详解Python中pyautogui库的最全使用方法
- net/http 库的客户端实现(下)
- 迪文串口屏想实现超低功耗怎么办?
- 计算机ct检查,影像学检查之三 CT(计算机体层)
- 黑马头条----首页和登录模块
- 抢疯了!32套乐高89元?可以玩上6个月!创造力、专注力提升嗷嗷的!
- 近期完成了PHPWIND的树形论坛改版(PHPWIND的树型论坛结构)
- jzoj6486 向日葵人生 (仙人掌)
- Spring方式集成Apollo
- spring boot项目中的application.properties设置了时区不生效的处理