機器視覺難不難?我這么說吧,如果說學一門編程語言只需要知道26個字母,全職學的話最多只需要半年就可以入門,那么,機器視覺相比學一門編程語言,在要會26個字母的情況下,資質好一點的人可能只需要一個月不到,再差一些的人也只需要一兩個月即可。我說的!
![]()
我其實并不是機器視覺相關專業出身,我原本其實就是一個普普通通的碼農而已,最開始,我在一家公司做上位機開發,我們公司的開發模式是C++負責后端、C#負責前端,C++負責機器視覺圖片的抓取和處理,而C#則負責相關參數和操作的增刪改查以及機器視覺結果的顯示。
機器視覺目前主流的開發框架基本上就OpenCV和Halcon兩種。
可是,機器視覺相關人才雖然多,但是編程語言分布卻特別雜。
最主流的當然是Python啦,然后是Java,其次是C++,最后才是C#。
其中,Python和Java主要以OpenCv為主,而C++和C#則多以Halcon為主,其中,C++程序員用OpenCv的更加多一些。
C#不是不可以開發OpenCv項目,在.Net庫中就有現成的OpenCv庫,但是,因為用的人比較少,所以學習曲線也就陡峭點。
另外一個造成C#“死磕”Halcon的原因就是,目前國內有個專門搞視覺項目的大廠某康,他們的核心算法庫其實就是照搬Halcon的,而某康自己又搞了一套Workflow,后臺代碼也是用C#寫的,所以,C#程序員學習Halcon就更加容易上手了。
當然,這只是我的解釋,您可以發表您自己的意見!
總之,當初我搞上位機的那家公司,因為總是招不到合適的人才,所以就想要內部培養,把一幫C++和C#上位機程序員弄到了一起,由公司機器視覺大牛親自帶隊,組織了不到一個月的Halcon視覺算法培訓。
最終,我在一群人之中脫穎而出,成功成為了一名機器視覺上位機全棧!其他人都沒學會!
當時我是挺得意,覺得自己挺牛的,竟然不到一個月就入門了Halcon,但是現在想想,自己可能是最不聰明的那一個!
您想,好端端的上位機程序員不當,非要去搞機器視覺,機器視覺的坑有多大,搞過的人都知道!
不管怎么樣,我覺得Halcon比OpenCv要容易得多,當然,只是入門而已,真的想要成為機器視覺算法專家,我還是有很長的路要走,畢竟我不是機器視覺科班出身的,理論知識還是比較薄弱。
但是,這并不影響我去做機器視覺項目,我覺得不管是編程語言還是機器視覺算法,只要您入了門,并且能夠憑借一些基礎能力成功拿到一份Offer,后面就是“師傅領進門,修行靠個人”了!畢竟,不是誰一從學校畢業就是個能夠應付各種項目的大牛嘛!
我當初學習C#的時候滿打滿算也就花了半年時間,注意啊,這是零基礎,其中還包括了CS和BS兩種學科。
可是,我學習Halcon只花了不到一個月時間,中間我還要給公司寫其他項目,所以,可見Halcon其實并不難!
當然了,我會寫代碼這肯定對于我學習Halcon算法有幫助,但是幫助其實并不大。
這么說吧,當初我學Html+Css+JavaScript幾乎也只是用了一個月時間,而Halcon其實要比Html+Css+JavaScript更加簡單一些。
總結
我知道我這么說肯定會有人持反對意見,但是我還是要說,我所說的簡單,只是入門簡單,就像一個剛畢業的程序員能力99.99%比不上一個工作了20年的程序員一樣,沒什么可比性!
另外,可能能還有一個疑問,那就是OpenCv和Halcon到底選哪個去學好呢?
如果您沒有任何編程基礎,我建議您從Halcon開始學,后續對機器視覺有了深入的理解以后,再去嘗試OpenCv。
如果您有一定的編程基礎,學習哪個,得看您未來的職業方向。
如果是往人工智能、自動駕駛、機器人視覺、安防監控等非工業場景上發展,我建議去學習OpenCv,因為OpenCv在這方面有大量的成熟算法庫,您學習起來,會相對容易些。
而如果是工業場景,比如說尺寸測量、字符或者編碼識別、定位這些,最好還是Halcon,因為Halcon在這方面也有很穩定的算法庫!
主要的是,目前工業場景下的開發,基本上是以C++和C#為主。
這么說,您明白了嗎?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.