halcon序列化机制

可以结合halcon算子的.net程序进行面向对象的编程:

源码如下:

打开算子的.net程序:

将程序运用到C#中:

halcondonet.dll源码解读

halcon与C#联合编程的demo

halcon的序列化机制

采用二进制进行序列化保存和反序列化

步骤:

1.创建一个类MyTool,并添加以下序列化和反序列化的代码:

2、创建另一个类MyData,填写要序列化保存的参数:

3、在主程序按钮事件中实例化这个参数并赋值,然后将这个参数进行序列化保存:

4、创建一个按钮事件进行反序列化,将之前保存的参数进行反序列化提取:

5、进一步的应用,序列化一个区域(region):

6、进一步的应用,序列化一条直线(起始的坐标点),在MyData中定义Tuple:

直接赋值:

7、进一步的应用,序列化一条xld,在MyData中定义XLDCont,由于类型是HXLDCont,代码不能正常运行,是由于HXLDCont缺少反序列化的构造函数:

要想代码正常运行,要将变量定义为父类的类型,即HXLD类型:

也可以显式的添加反序列化的构造函数,修改halcondotnet中的程序并重新生成后,报错的程序就可以重新使用:

相关推荐
zyh______11 小时前
C#语法糖(按照实用性排序)
unity·c#
z落落12 小时前
C#五大加密算法(AES、DES、MD5、RSA、SHA)
开发语言·c#
孝顺的书包13 小时前
将《C# 调用非托管程序》一文中最后一种方法修改如下(篇幅原因简化了注释):
开发语言·c#
辰三13 小时前
统信 UOS + GBase 8s 国产化环境部署实战:从虚拟机到数据库连接完整指南
linux·c#
标致的钢铁侠13 小时前
c# 温故而知新: 线程篇(一)
java·jvm·c#
蜗牛~turbo14 小时前
金蝶云星空的网络控制设置
开发语言·c#·金蝶·erp·云星空·k3 cloud
huaqianzkh14 小时前
DevExpress TreeList 右键菜单踩坑复盘:空白区域正常、节点右键弹出控件自带菜单解决方案
c#
贪玩的蛋挞1 天前
C#与闭包
开发语言·c#
忧郁的紫菜1 天前
基础实现:单篇 Markdown 转 Word
开发语言·c#·word
甜美的小天鹅1 天前
Swifter C#之inline还是不inline,这是个问题
开发语言·c#