halcon 将数据保存到excel_halcon中的面向对象,数据保存

halcon算子支持各种编程语言,但是最终都是调用halcon.dll中的函数,题主主要使用c#语言,就说下halcon在c#中的那些事吧,

举例说明,对于条码,halcon的htool接口下提供了HBarCode模型类,不少人是在halcon开发环境中导出算子并没有直接使用这个模型,使用格式如下

HOperatorSet.FindBarCode(findImage,out obj, Handle, CodeType, out codeResult);

其中的handle是一个htuple,实际是HBarCode模型的句柄,程序写到这里调试估计都没问题了,接下来该保存数据了,这里直接保存这个handle没用,可以使WriteBarCodeModel来讲模型保存到文件中.或者用Serialize算子存到数据流中统一保存,

以上两种方式都需要单独编写程序来保存数据,由于c#提供方便的序列化方式,可以将类直接序列化,这就大大减少了自己编写保存程序出现的bug,还可以将整个工程文件保存为一个序列化对象,具体应该怎么做呢?

声明对象时候,工具字段 必须直接使用

HBarCode barCodeTool = new HBarCode();

这种方式来声明,这样就序列化时候会自动调用模型的序列化算子,使用时候面向对象和面向过程都可以,

HOperatorSet.FindBarCode(findImage,out obj, barCodeTool.Handle, CodeType, outcodeResult);

barCodeRegion= barCodeTool.FindBarCode(findImage, CodeType, out codeResult);

建议还是使用第二种面向对象的编程方式,这样更简洁.是region就声明hregion,是image就声明himage,不要全都弄成hobject,c#的强制类型会帮我们检查出一些低级错误,

想想c#所有对象都声明为object会怎样吧

ps:himage在这里用完要记得及时dispose,不然内存刷刷刷的涨

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值