1、halcon軟件提供的是快速的圖像處理算法解決方案,不能提供相應的界面編程需求,需要和VC++結合起來構造MFC界面,才能構成一套完成的可用軟件。
二維需求方面有:⑴識別定位;(2)OCR光學字符識別;(3)一維碼、二維碼識別及二者的結合;(4)測量類(單目相機的標定);(5)缺陷檢測系列;(6)運動控制,手眼抓?。ㄉ婕笆盅蹣硕ㄗト〉确矫妫?/p>
三維需求方面:(1)攝像機雙目及多目標定(2)三維點云數據重構
3、要成為一名合格的機器視覺工程師必須具備以下三個方面的知識
(1)圖像處理涉及以下幾大領域:
A、圖像處理的基本理論知識(圖像理論的基礎知識)
B、圖像增強(對比度拉伸、灰度變換等)
C、圖像的幾何變換(仿射變換,旋轉矩陣等)
D、圖像的頻域處理(傅里葉變換、DFT、小波變換、高低通濾波器設計)
E、形態學(膨脹、腐蝕、開運算和閉運算以及凸殼等)
F、圖像分割(HALCON里的Blob分析)
G、圖像復原
H、運動圖像
I、圖像配準(模板匹配等)
比較好的參考書籍有
經典教材:岡薩雷斯的《數字圖像處理》及對應的MATLAB版
楊丹等編著《MATLAB圖像處理實例詳解》
張錚等編著《數字圖像處理與機器視覺——Visual C++與MATLAB實現》
左飛編著的《數字圖像處理:原理與實踐(MATLAB版)》
左飛編著的《數字圖像處理技術詳解與Visual C++實踐》
謝鳳英編著的《Visual C++數字圖像處理》
《精通系列·精通Visual C++數字圖像處理典型算法及實現(第2版)》
(2)軟件編程功底
具備C,C++,C#及MFC界面開發的功底
A、C語言的學習主要看譚浩強寫的C語言相關知識
B、C++主要看C++ primer plus書籍
C、MFC的學習主要看孫鑫編寫的《VC++深入詳解》這本書及相應的視頻教程,并在VC++6.0軟件或VS2010等軟件上編寫程序和實踐。
D、C#可以看書籍《C#從入門到精通》、《Head First C#》、《C#入門經典》、
《C#圖解教程》、《C#高級編程》、《.Net Frameword 高級編程》、《CLR via C#》
(3)光學知識:
主要閱讀書籍《工程光學》、重點放在幾何光學方面,了解成像原理及相應的光路分析,知道光源的特性、鏡頭分辨率、相機分辨率等方面的知識。
光學知識主要在你設計方案時相機、光源、鏡頭等選型時起到關鍵作用。
軟件功底的作用是軟件的架構設計分析,架構包括UI層設計、業務邏輯層開發、數據層開發。
HACLON主要完成圖像處理算法的實現。
目前市場上工業領域中主流的圖像算法處理軟件有HALCON, NIvisionpro, opencv
學習HALCON最重要的是學習其中的方法、流程和套路
4、HALCON主要完成圖像算法的流程套路如下:
特征提取總結:
1、幾何特征(面積、周長、矩形度)2、紋理特征(與灰度相關,如熵、能量值)
3、顏色特征4、概率特征5、算子描述特征 6、Hough特征(梯度直方圖特征)
做機器視覺的項目,拿到項目時一般遵循如下流程:
第一步:需求分析,建立相應的方案
第二步:算法流程規劃及業務邏輯設計
第三步:模塊化編程及集成化實現
第四步:調試,根據反饋結果來不斷的修改程序Bug,達到客戶需求,最后交付客戶及軟硬件操作文檔。
學習機器視覺的好方法:
1、學習機器視覺一定要結合項目實戰,在實踐中學習總結經驗教訓,系統化學習所需知識。
2、補充一定的C++和c#知識,進行VS聯合開發,客戶現場的學習和現場調試,不斷學習示例分析,掌握方法套路流程。
3、根據實際問題,學習模塊調用,按照方法套路學習。
4、最好是先用HALCON實現圖像處理部分,然后在VS2010開發軟件中利用MFC圖形界面實現出來,實踐學習是最好的方法。
機器視覺學習的發展趨勢是結合神經網絡、深度學習進行相應的人工智能機器視覺開發。
-
機器視覺
+關注
關注
162文章
4388瀏覽量
120434 -
運動控制
+關注
關注
4文章
584瀏覽量
32899 -
OCR
+關注
關注
0文章
145瀏覽量
16388
發布評論請先 登錄
相關推薦
評論