OpenCV 3 將會爲我們帶來什麼?

今年8月,OpenCV 3.0 alpha發佈,同時宣佈beta將在仲秋時節發佈,而正式版會在聖誕節和新年的假期就緒。其中beta版已在光棍節發佈,而從目前GitHub倉庫的情況來看,正式版可能還得過一陣子才行。

3.0將是OpenCV的又一個革命性版本,它會帶來哪些改變呢?

  • 大體上保留了OpenCV 2經典的C++和Python編程接口風格。其中,Python接口大大增強,也加入了Python 3.x的支持。一般來說,以前版本的程序只要做少數修改,就可以使用OpenCV 3了。另外還改善了Java接口,並且加入了MATLAB支持。
  • 架構調整。圖片、視頻編解碼從highgui模塊分離出來,組成了imgcodecs和videoio。原先的OpenCL模塊ocl事實上與其它模塊融爲一體,而CUDA加速模塊gpu分解成了數個以cuda開頭的模塊。此外,除了官方支持的OpenCV代碼,還有一些自發貢獻的內容、不穩定的內容,或者版權尚存爭議的內容,都放到了新的倉庫opencv_contrib中。
  • 更多新算法。新版本包括了TLD、魚眼鏡頭模型等全新算法,還包括了一些更高層次可以直接拿來用的高級封裝,比如汽車檢測等。
  • 引入T-API,使OpenCL加速更容易。目前可以參考OpenCV源代碼中T-API的範例。可以發現,開啓和關閉OpenCL加速,只需要一個語句就夠了。這也就是爲什麼ocl模塊會消失了吧。
  • 更多指令集優化。除了之前爲Intel CPU做的優化以外,OpenCV 3還容納了ARM平臺NEON指令集的支持。通過英特爾的幫助,OpenCV 3對x86和x64平臺默認使用IPP,這槓槓的加速我就不多說了,上圖!
IPP加速效果
IPP加速效果

那麼現在大家最關心的應該是穩定性了。OpenCV 3.0 beta通過了絕大部分測試,只有一小部分涉及32位Windows的沒有通過,作一般使用也不會有太大問題了。

遺憾的是3.0的文檔還沒有正式發佈,如果需要,得自己到源代碼編譯文檔。而且現階段文檔還有很多2.x的殘留。不過,稍微摸索一下就能解決大多數問題。總之,如果你在用OpenCV做開發的話,尤其是性能很重要的開發,現在可以試試OpenCV 3.0了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章