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