halcon中的面向对象,数据保存(续)

之前写的面向对象及数据保存可能有些东西没有说的很清楚,导致有网友咨询为什么保存失败,

先看看为什么失败.

   [Serializable]
    public class Test
    {
        private HTuple hv_ModelID = null;
        public HTuple Hv_ModelID
        {
            get
            {
                return hv_ModelID;
            }
            set
            {
                hv_ModelID = value;
            }
        }
    }

上面是对于一个ncc模板测试类,声明的是hv_ModelID作为模板句柄,保存此句柄再次打开发现无法进行查找,句柄只是一个指针,指向之前创建模板的位置,记录这个位置是不行的,那么实际应该怎么做呢?

创建模板当然首先在halcon开发环境中输入

create_ncc_model (, 'auto', -0.39, 0.79, 'auto', 'use_polarity', ModelID)

然后使用f1帮助跳出帮助界面

使用.net,当然要看看.net咋弄了

 

发下上面的就是模型的构造函数,声明对象就应该是HNCCModel,之前的测试代码就应该是

[Serializable]
    public class Test
    {
        private HNCCModel nccModel = null;
        public HNCCModel  NccModel 
        {
            get
            {
                return nccModel ;
            }
            set
            {
                nccModel = value;
            }
        }
    }

这样序列化此类就直接保存了模板,当然序列化之前还应该检查下是否真的已经初始化了,

if (nccModel != null && nccModel.IsInitialized() == false)
 {
        nccModel = null;
 }

还有小伙伴可能会说我英语不好咋办,f1我也看不懂啊,现在的翻译软件已经做的很好了,将f1打开后的路径地址复制到谷歌浏览器或者类似浏览器,并使用谷歌翻译,将离线帮助可以直接翻译成中文,格式什么都不会变化.

 

转载于:https://www.cnblogs.com/linyugang/p/9165528.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值