
VM脚本真的好用
9篇
- VM4.2 脚本调用halcon解码
- 浅谈VsionMaster:用脚本最简代码,调用halcon
- 浅谈VsionMaster:用脚本,做一些好玩的东西。
- VisionMaster在脚本更改存图路径
- 脚本输出泛型(数组)的方法
- VM引用自定义dll实现个性化功能(VM4.1)
- 【共享学习】---脚本实现浮点数保留N位小数
- 用脚本调用sdk采集图片
- 【共享学习】---脚本实现修改字符串指定位置字符
本文介绍,用脚本,通过halcon引擎,调用halcon编辑好的函数。
1,先准备一个halcon功能函数。定义好输入,输出。
建议:
输入: 图片, 运行参数。
输出:运行结果,如果要显示,输出线矩形框的 中心,宽高。
我这里,定义一个 识别二维码的函数。 输入是图片,输出是 识别二维码的结果 字符串, 二维码的显示框数据,以及是否找到二维码的标志。
2,打开一个新的脚本, 添加脚本的引用。halcondotnet.dll , hdevenginedotnet.dll (一个是halcon库,一个是halcon引擎)
3,调用过程。
1,定义 一个引擎 Engine, 一个功能流程Procedure,一个流程执行单元ProceduceCall,
2,设置输入。(图像输入,需要转换格式)
3,运行,获取输出。
如下面所示。
路径,是halcon函数所在文件夹的路径
“findCode2d” 是halcon函数的文件名
这是图像转换, 把vm的图片,转 halcon的图片。
设置输入,这里输入只有一个图片。
引擎调用函数。
获得,函数运行结果。
str 是二维码 字符串。
x,y,angle,L1,L2, 是二维码的框。
以上,就是使用 halcon 引擎 调用hacon函数。
用HalconEngine 代替使用HalconDotnet的代码最大的优势是可以在HDevelop中调试好流程,内存管理全部由HDeveleop中编程实现,这样就省去了在VM中和Halcon的各种内置数据类型的交互,例如Region对象, Contour对象, XLD对象,这些类型在VM中是没有可以对应的类型的。
大佬,使用引擎的方式是不是必须要安装halcon才行?因为我在没有安装halcon的电脑上运行这个脚本,会报错,找不到.DLL文件。其实我已经将.dll文件放在debug文件夹下了。