opencv,halcon與matlab都有圖像處理的相關功能,它們有什麼聯繫和區別?

對數字圖像處理感興趣,但在本科學習的是以matlab為基礎的課程,但在工程上大都用的是opencv,halcon這兩個軟體,我非常陌生,請多介紹。


HALCON與OpenCV都是函數庫,都提供了多種編程語言訪問的介面。不同在於:

  1. HALCON可以用C,C++,C#,Visual basic和Delphi等語言訪問,OpenCV提供了Python、Ruby、MATLAB等語言的介面。

  2. OpenCV側重計算機視覺領域,HALCON側重機器視覺領域。

  3. HALCON是商業軟體(感謝 @林土慶 提供的數據,開發版4萬左右,運行版1.6萬左右),而OpenCV可以在商業和研究領域中免費使用。

雖然MATLAB也帶有很多函數庫,但不同於HALCON和OpenCV,MATLAB是個完整的集成開發環境,包括了編輯器、函數庫、還有Matlab語言本身均由MathWorks公司提供。例如,用MATLAB你可以debug,但是對於OpenCV相關的代碼調試,你就需要Visual Studio了。


從樓主的問題中,樓主本科學過matlab應用,可能是電子信息類專業,研究生可能是圖像,視覺相關專業。這本研的專業都很好,機器視覺領域是國內製造業升級的關鍵領域,前景很好。目前就經常被獵頭「 騷擾」。

好的行業前景還要看怎麼學,怎麼總結。研究生階段盡量以更深入底層為主,所以matlab和opencv要深入研究,就好的資源是岡撒雷斯的《數字圖像處理》及其matlab版,一定要讀英文版的,這領域的書我從不看中文版,譯的太差,國人寫的就更不用說了。

代碼方面,好好深挖opencv代碼,搞透了,好的公司搶著要您。我們公司也算一個。


MATLAB建模方便,上手快。腳本適合一行行單步執行,方便教學演示。

OpenCV和Halcon速度快。

兩者區別就是OpenCV名字里說了自己是做Computer Vision的,Halcon是做Machine Vision的。見機器視覺與計算機視覺的區別?

側重點不同,所以提供的介面不同。跨界使用不是不可以,只是覺得沒網上說的那麼好用。


解答的的非常好,我以前也是matlab,但是在速度方面太慢了,不過在圖像驗證上非常的有幫助,未來的發展一定是一個速度的發展,所以說將來的halcon還是比較哦好的,但是他收費,opencv是一個開源的技術,不收費,所以中國有很多的公司是把外國的技術翻譯一下自己申請專利的。


opencv:主要是開源的計算機視覺包,一般用在編寫自定義演算法場合,一般高校,科研單位用的比較多,在非標自動化領域用的不太多,主要是項目一般時間比較短,而Opencv開發周期有點長。

halcon:在自動化領域用的最多的一款機器視覺軟體,很多公司的項目都是用這個視覺庫區開發的,它的演算法靈活,強大,調試非常方便,很收開發人員喜歡

matlab:用在高校和科研單位比較多,主要針對數值分析和圖像處理方面,在自動化領域用的比較少。

如果你想學習halcon這個軟體,重碼網有很多機器視覺軟體開發的視頻,你可以百度 重碼網。


專業講是機器視覺與計算機視覺的區別!通俗講是對硬體支持的區別!


推薦閱讀:

求問matlab圖像處理相關入門和深化的方法或者書籍?
圖像處理專業的哪些方向就業比較好(碩士),主要去哪些公司?
入門 C++,求介紹經驗?
計算機視覺有哪些不錯的博客可以推薦?
怎樣理解結構張量?

TAG:軟體 | 圖像處理 |