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中的程序并重新生成后,报错的程序就可以重新使用:

相关推荐
__water36 分钟前
『功能项目』状态模式转换场景【30】
c#·状态模式·unity引擎
語衣5 小时前
C# 数组定义和常用方法
开发语言·c#
ling1s10 小时前
C#基础(5)交错数组*
开发语言·c#
baivfhpwxf202310 小时前
c# Csv文件读写示例,如果文件存在追加写入
开发语言·c#
ling1s14 小时前
C#基础(8)函数
开发语言·c#
我是苏苏17 小时前
C#高级:递归2-根据ID反向递归求其所有的祖先节点信息
前端·ide·c#·.netcore
wangnaisheng17 小时前
【WPF】Border的使用
c#·wpf
月巴月巴白勺合鸟月半18 小时前
HTTP下载文件
网络·网络协议·http·c#
就是有点傻18 小时前
c#中Graphics常用的属性
c#
lqd52052019 小时前
Lua调用C#协程
开发语言·c#·lua