如何踏入機(jī)器視覺(jué)這個(gè)行業(yè)?
? ? ? 1、HALCON是德國(guó)MVtec公司開發(fā)的一套完善的標(biāo)準(zhǔn)的機(jī)器視覺(jué)算法包,它節(jié)約了產(chǎn)品成本,縮短了軟件開發(fā)周期。
Halcon:底層功能算法多,運(yùn)算性能快,開發(fā)需要一定軟件功底和圖像處理理論。
? ? ? 快速學(xué)習(xí)做法:研究實(shí)例、做實(shí)戰(zhàn)項(xiàng)目。halcon不能提供相應(yīng)的界面編程需求,需要和vs來(lái)構(gòu)造MFC界面或者QT使用,才能構(gòu)成一套完整軟件。
2、需求主要有二維三維二維:(1)識(shí)別定位;(2)OCR識(shí)別;(3)二維碼識(shí)別;(4)測(cè)量;(5)缺陷檢測(cè);(6)機(jī)器控制等三維:(1)多目標(biāo)定(2)三維重建(3)三維匹配等
3、成為合格的機(jī)器視覺(jué)工程師須具備三個(gè)方面的知識(shí)
? ? ? 圖像處理涉及以下幾大領(lǐng)域:
A、圖像處理的基本理論知識(shí)(圖像理論的基礎(chǔ)知識(shí))
B、圖像增強(qiáng)(對(duì)比度拉伸、灰度變換等)
C、圖像的幾何變換(仿射變換,旋轉(zhuǎn)矩陣等)
D、圖像的頻域處理(傅里葉變換、DFT、小波變換、高低通濾波器設(shè)計(jì))
E、形態(tài)學(xué)(膨脹、腐蝕、開運(yùn)算和閉運(yùn)算以及凸殼等)
F、圖像分割
G、圖像復(fù)原
H、運(yùn)動(dòng)圖像
I、圖像配準(zhǔn)(模板匹配等)
J、模式識(shí)別(分類器訓(xùn)練,神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)等)
?。?)軟件編程功底
具備C,C++,C#及MFC界面開發(fā)的功底
A、C語(yǔ)言的學(xué)習(xí)主要看譚浩強(qiáng)寫的C語(yǔ)言相關(guān)知識(shí)
B、C++主要看C++primerplus書籍
C、MFC的學(xué)習(xí)主要看孫鑫編寫的《VC++深入詳解》這本書及相應(yīng)的視頻教程,并在VC++6.0軟件或VS2010等軟件上編寫程序和實(shí)踐。
D、C#可以看書籍《C#從入門到精通》、《C#入門經(jīng)典》、《C#圖解教程》
(3)光學(xué)知識(shí):
光學(xué)知識(shí)主要在你設(shè)計(jì)方案時(shí)相機(jī)、光源、鏡頭等選型時(shí)起到關(guān)鍵作用。
4、學(xué)習(xí)HALCON最重要的是學(xué)習(xí)其中的方法、流程和套路
HALCON主要完成圖像算法的流程套路如下:
特征提取總結(jié):
1、幾何特征(面積、周長(zhǎng)、矩形度)
2、紋理特征(與灰度相關(guān),如熵、能量值)
3、顏色特征
4、概率特征
5、算子描述特征
6、Hough特征(梯度直方圖特征)
做機(jī)器視覺(jué)的項(xiàng)目,拿到項(xiàng)目時(shí)一般遵循如下流程:
第一步:需求分析,建立相應(yīng)的方案
? ? ? ?第二步:算法流程規(guī)劃及業(yè)務(wù)邏輯設(shè)計(jì)
第三步:模塊化編程及集成化實(shí)現(xiàn)
第四步:調(diào)試,根據(jù)反饋結(jié)果來(lái)不斷的修改程序Bug,達(dá)到客戶需求,最后交付客戶及軟硬件操作文檔。
學(xué)習(xí)機(jī)器視覺(jué)的好方法:
1、學(xué)習(xí)機(jī)器視覺(jué)一定要結(jié)合項(xiàng)目實(shí)戰(zhàn),在實(shí)踐中學(xué) 結(jié)經(jīng)驗(yàn)教訓(xùn),系統(tǒng)化學(xué)習(xí)所需知識(shí)。
2、補(bǔ)充一定的C++和c#知識(shí),進(jìn)行VS聯(lián)合開發(fā),客戶現(xiàn)場(chǎng)的學(xué)習(xí)和現(xiàn)場(chǎng)調(diào)試,不斷學(xué)習(xí)示例分析,掌握方法套路流程。
3、根據(jù)實(shí)際問(wèn)題,學(xué)習(xí)模塊調(diào)用,按照方法套路學(xué)習(xí)。
4、最好是先用HALCON實(shí)現(xiàn)圖像處理部分,然后在VS2010開發(fā)軟件中利用MFC圖形界面實(shí)現(xiàn)出來(lái),實(shí)踐學(xué)習(xí)是最好的方法。