zoukankan      html  css  js  c++  java
  • 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打开后的路径地址复制到谷歌浏览器或者类似浏览器,并使用谷歌翻译,将离线帮助可以直接翻译成中文,格式什么都不会变化.

    专注机器视觉,halcon c# c++联合开发
  • 相关阅读:
    图像处理国际会议
    [2015更新]用Word2007写CSDN博客
    【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结
    奇异秀App:奇异秀秀奇异,用大头视频来拜年
    通俗讲解傅里叶级数
    LIBSVM的使用方法
    VC6.0的工程设置解读Project--Settings
    HOG:从理论到OpenCV实践
    如何在 Kaggle 首战中进入前 10%
    linux学习(2)
  • 原文地址:https://www.cnblogs.com/linyugang/p/9165528.html
Copyright © 2011-2022 走看看