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 引擎学习一相关推荐

  1. C#中调用halcon引擎来执行hdev程序

    调用halcon引擎有两个直接的好处: 避免C# 与halcon代码混编时可能产生的内存泄露问题 修改halcon程序时不用重新编译C# 勇哥写了一个示例,详细的应用感受和缺点限制勇哥会持续做相关的总 ...

  2. C#调用 Halcon引擎执行代码

    Halcon引擎可以直接执行halcon代码,把halcon程序当做C#的一个方法来调用,这样可以减轻C#这边的程序负担,而且可以避免内在泄露等bug的出现.还有一种好处是方便调试视觉代码,你只需要启 ...

  3. Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子

    Halcon算子学习:图像阈值分割算子 前言 1.threshold-全局固定阈值分割 2.Binary Threshold-自动全局阈值分割 3.dyn_threshold-局部动态阈值分割 小结: ...

  4. Halcon算子学习:XLD几种边缘连接函数

    Halcon算子学习:XLD几种边缘连接函数 1.union_cotangential_contours_xld (Contours : UnionContours : FitClippingLeng ...

  5. ue4 迁移模型_UE4虚幻引擎学习云笔记(六)-关卡设计入门-[5.地形快速入门]

    [六.关卡设计入门(Level Designer Quick Start)] 19-09-29 UE4虚幻引擎学习云笔记(六)-关卡设计入门​zhuanlan.zhihu.com UE4虚幻引擎学习云 ...

  6. Halcon例程学习:adaption_ocv.hev(光学字符检测)

    **************************************************************************************************** ...

  7. Halcon例程学习:print_check.hev(光学字符检测)

    **************************************************************************************************** ...

  8. velocity(vm)模板引擎学习介绍及语法

    velocity模板引擎学习 velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,( ...

  9. ue4 改变枢轴位置_UE4虚幻引擎学习云笔记(五)-静态网格体编辑器

    [五.静态网格体编辑器(Static Mesh Editor)] 19-09-26 静态网格体编辑器一般用以分配材质至静态网格体,每个LOD可以有不同材质. 静态网格体编辑器(Static Mesh ...

最新文章

  1. The Long-Term Stability of Ecosystems
  2. 单链表-逆置单链表(头插法且双指针)
  3. Transformer霸榜全景分割任务,南大、港大提出一种通用框架!
  4. cdoj 1131 男神的礼物 区间dp
  5. 【NOIp模拟】【二分答案】电缆老板
  6. 利用Javascrip实现web窗体的打开和关闭后的刷新
  7. PHP错误处理注册机制
  8. 神经网络之激活函数(activation function)
  9. centos 切换用户_【站长亲测】迈拓维矩kvm切换器8口usb高清VGA显示器鼠标键盘切屏共享器8进1出...
  10. 计算机基础知识之信息技术初步
  11. 数列求和-加强版(C语言)
  12. 微信小程序 评论功能实现
  13. sqlite3错误原因
  14. ARM Translation 下载 | ARM Translation Download
  15. 【二维码识别】灰度+二值化+校正二维码生成与识别【含GUI Matlab源码 635期】
  16. 电路设计_USB转串口,CH340T和341T心得
  17. 转] 女生皮肤必修课(哇哇,这么全的,怕以后找不到,是姑娘就转了~~)
  18. 奔向光明阿波罗(2)
  19. 无人机服务器通信协议软件设计,无人机飞行管控系统及其数据处理软件设计
  20. 企业微信 被动回复 没反应问题

热门文章

  1. 详解Python中pyautogui库的最全使用方法
  2. net/http 库的客户端实现(下)
  3. 迪文串口屏想实现超低功耗怎么办?
  4. 计算机ct检查,影像学检查之三 CT(计算机体层)
  5. 黑马头条----首页和登录模块
  6. 抢疯了!32套乐高89元?可以玩上6个月!创造力、专注力提升嗷嗷的!
  7. 近期完成了PHPWIND的树形论坛改版(PHPWIND的树型论坛结构)
  8. jzoj6486 向日葵人生 (仙人掌)
  9. Spring方式集成Apollo
  10. spring boot项目中的application.properties设置了时区不生效的处理