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打開后的路徑地址復制到谷歌瀏覽器或者類似瀏覽器,並使用谷歌翻譯,將離線幫助可以直接翻譯成中文,格式什么都不會變化.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM