halcon从入门到精通pdf_机器视觉软件开发新人入门必看 --机器视觉软件开发学习路径...
機器視覺是機械、運動、控制、光學(xué)、軟件、算法于一體的交叉學(xué)科,對于學(xué)工科的人來說,機械、運動、控制都有一定的了解,對于軟件、算法、光學(xué)不是很了解。一臺設(shè)備,有一個到二個機械設(shè)計師或者結(jié)構(gòu)工程師,那么這個角色就勝任了機械部分,有一個電氣工程師,那么就勝任了控制部分了,再來一個視覺工程師,擔(dān)當(dāng)視覺軟件開發(fā)部分,那么整套系統(tǒng)就構(gòu)成一套機器視覺系統(tǒng), 對我們視覺軟件發(fā)來說,做好光學(xué)(相機、鏡頭、光源)的選擇,軟件框架設(shè)計好,算法的實現(xiàn),就可以了。
視覺系統(tǒng)
視覺系統(tǒng)
從業(yè)多年,可以看到,機器視覺軟件開發(fā)是跟機械、電氣緊密相連的,從而,我見過很多機械、電氣行業(yè)從業(yè)人員進行轉(zhuǎn)行進入到視覺軟件開發(fā),直接的接觸讓很多電氣、機械的同學(xué)想進入機器視覺軟件開發(fā)領(lǐng)域,今天我來說說從零基礎(chǔ)學(xué)習(xí)視覺軟件開發(fā)的學(xué)習(xí)路徑,需要學(xué)習(xí)哪些知識?
學(xué)習(xí)概要
1. 圖像基礎(chǔ)知識
做這個行業(yè),需要知道圖像的基礎(chǔ)知識,至少先在文字層面上進行學(xué)習(xí),比如什么是灰度,什么是位圖,什么是深度,什么是通道,什么是像素,什么是灰度,什么是濾波等等,在第一個階段,不要去深挖各種理論,先在文字層面上理解這是什么意思即可,其實,對我們應(yīng)用層開發(fā)來講,機器視覺工程師講究的是一個系統(tǒng)集成的能力,對工程工藝的理解,而不是深挖理論,術(shù)業(yè)有有專攻,第一階段切勿對不理解的公式去深挖,不懂得跳過這個,后期循序漸進或者學(xué)習(xí),不懂的也不會對你后期開發(fā)有多大的影響,至于書籍方面,可以推薦看數(shù)字圖像處理(岡薩雷茨),對于初學(xué)的人來說,讓你去看這本書是難免有點多,但我不能不介紹他, 你也可以去搜索相關(guān)的圖像處理基礎(chǔ)知識掃盲也可以,這個階段有點像萌芽的意思。
數(shù)字圖像處理
2. 光學(xué)成像部分
光學(xué)成像部分,需要了解成像系統(tǒng)的選型,包括相機、鏡頭、光源,這三大件必不可少,在這里學(xué)習(xí),如果每個三大件展開,又有很多的知識點,相機的種類、相機的選擇、相機sensor尺寸、鏡頭種類、鏡頭選型、光源種類、光源選型等等,那么在這個階段就是一個積累和總結(jié)的過程了,你一個時候記不到這么多,記到了你不用也會忘記,我當(dāng)年實習(xí)是在實驗室打光測試做了1個半月,至少在光源和鏡頭方面實驗的都實驗了,但還是很多不知道,也是在后期工作中用到了哪一塊就深入的去了解了。
光源
鏡頭
3. 編程語言學(xué)習(xí)
上位機編程語言,有兩種選擇,C#和C++開發(fā)語言的學(xué)習(xí),初學(xué)入門,建議學(xué)習(xí)C#作為上位機開發(fā)首選,C#語言入門簡單,一本《C#入門經(jīng)典》即可,語法規(guī)則熟悉一周左右即可,界面開發(fā)可以使用Winform、WPF,熟悉界面庫也就差不多一到二周的時間。
C++語言就不一樣了,C++語言很復(fù)雜,知識點很多,在短時間內(nèi)很難理解那么多知識點,并且哪怕有三五年C++編程經(jīng)驗的程序員,也不敢說對C++語言精通,我等只有“會使用”的地步了,C++界面開發(fā)庫常見的有MFC,MFC稍微有點過氣了,現(xiàn)在廣泛使用的界面庫是Qt,熟悉Qt界面庫一周到二周,真正在項目中熟悉使用需要積累和通過項目的錘煉。
我當(dāng)年的學(xué)習(xí)路徑是在大學(xué)先學(xué)的C++,學(xué)的MFC做界面,看的是孫鑫的C++教學(xué)視頻,我的第一個MFC+Halcon程序顯示圖像、結(jié)果顯示就搞了我一周,然后我學(xué)習(xí)的C#,界面開發(fā)庫使用Winform,WPF,出來工作后主要使用C++開發(fā),有時候也會使用C#開發(fā),大多數(shù)時候是兩種語言都會涉及,Winformwpf做界面,算法層、通信層等會封裝成C的接口。
4. 算法工具的學(xué)習(xí)
有哪些算法工具,我有文章介紹過,沒看過的可以去看
機器視覺軟件開發(fā)系列--機器視覺算法工具掃盲
如果你有了一定的圖像處理基礎(chǔ),編程基礎(chǔ),你現(xiàn)在去看算法工具的學(xué)習(xí),就相對會順暢很多,算法工具推薦使用halcon,學(xué)了halcon,其他的算法工具學(xué)起來都很快,并且halcon能夠解決機器視覺領(lǐng)域內(nèi)所有簡單、復(fù)雜的項目,而且會halcon算法的工資待遇會更高。
學(xué)習(xí)halcon也是有方法的,先要對halcon的總體算法功能有個了解,以及知道每個功能模塊的應(yīng)用例程的經(jīng)典案例。 再就是halcon的基本數(shù)據(jù)格式,算子的參數(shù)輸入輸出表示方法,圖像參數(shù)、控制參數(shù),再了解halcon常用的一些算子功能,那么入門開發(fā)就可以了,要深入,需要通過項目經(jīng)驗案例來進行學(xué)習(xí)和深入,開始學(xué)習(xí)。
這一步也是每個視覺任務(wù)要解決的核心問題,所以這部分內(nèi)容也是最重要的,花的時間也最多。
5. 項目代碼演練
前面的幾個步驟,你不一定需要根據(jù)順序來完成,你可以直接從3、4跳到這里,那么這一步就很關(guān)鍵了,前面那些知識點是一個零散的知識,這一步是把所有化零為整的步驟,這一步也是很多人最頭疼的地方,如果沒有師傅帶, 你自己摸索,那是比較困難,最好是找到項目源碼,找到合適的有經(jīng)驗的師傅進行學(xué)習(xí),最開始可以從流程簡單的到中級到高級的步子學(xué)習(xí),單相機單流程,你的軟件流程就簡單,如果是單相機多流程,多相機多流程,線程之間的交互,以及數(shù)據(jù)的融合,那就是比較高級的項目了,所以這也是有經(jīng)驗的工程師的重要之處。
總結(jié)
以上是生活随笔為你收集整理的halcon从入门到精通pdf_机器视觉软件开发新人入门必看 --机器视觉软件开发学习路径...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql主键自增长_全面的MySQL优
- 下一篇: struct类型重定义 不同的基类型_汇