現在,我們很高興地宣布3.0時代的開始(OpenCV 3.0 release 預計會在今年聖誕節左右發布)。在3.0時代不會有像2.0時代壹樣激進的嘗試,它有足夠穩定的改進,這為我們,也為妳們以及偉大的OpenCV社區帶來了許多全新的機會。請查看更新日誌,我們簡要說幾點。
1. 項目架構的改變。
最初的時候,OpenCV是壹個相對整體的項目,都是以整體的形式構建和裝配,在很多年的時間裏,這都是壹個很好的策略。然而,隨著功能的增加,包括bleeding-edge算法發布前的幾分鐘,壹個pull請求提交到我們的倉庫,越來越多的貢獻者(非常感謝妳們),我們決定像其他大項目壹樣,拋棄整體架構,使用內核+插件的架構形式。
除了我們的主倉庫和增加的”test data“倉庫,我們還有了/itseez/opencv_contrib,這裏有很多讓人興奮的功能,包括妳們已經知道的面部識別和文本探測,還包括文本識別、新的邊緣檢測器、充滿藝術感的修復、深度地圖處理、新的光線流和追蹤算法等。
opencv與opencv_contrib之間的區別是:
他們都由我們的持續集成系統維護,盡管opencv_contrib的單元測試並不常規運行。
全部或者壹些額外的模塊可以用我們的構建系統構建,把OPENCV_EXTRA_MODULES_PATH=/modules傳遞給CMake。
contrib的文檔是自動生成的,可以在docs.opencv.org/master獲得,它會在OpenCV 3.0 beta版本的時候更加完善、並發布。
主OpenCV是Itseez支持的代碼,有非常穩定的API以及壹點點創新。
opencv_contrib是大多數實驗性代碼放置的地方,壹些API可能會改變,我們歡迎貢獻者貢獻妳們新的精彩算法。
2. 感謝Intel和AMD公司的支持,我們讓很多視覺算法實現的GPU加速,並且對於用戶來說,都是十分易得的。這個技術可以稱之為T-API (“transparent API”),關於這個話題的單獨指南在準備當中,仍然非常歡迎妳來看壹下,試壹下我們的T-API的例子,研究壹下它如何工作。
3. Intel公司還給了我們另壹份大禮。IPP的壹個子集默認接入OpenCV,用戶可以輕松得到。其中包含了可以將使用IPP加速的OpenCV再次分發的許可。如下圖所示,在IPP的幫助下,很多函數都實現了顯著的加速。
4. 最後,OpenCV 3.0帶來了很新的功能,這是其中的壹部分:
Text detection and recognition by Lluis Gomez
HDR by Fedor Morozov and Alexander Shishkov
KAZE/A-KAZE by Eugene Khvedchenya, the algorithm author Pablo Alcantarilla and some improvements by F. Morozov.
Smart segmentation and edge-aware filters by Vitaly Lyudvichenko, Yuri Gitman, Alexander Shishkov and Alexander Mordvintsev
Car detection using Waldboost, ACF by Vlad Shakhuro and Nikita Manovich
TLD tracker and several common-use optimization algorithms by Alex Leontiev
Matlab bindings by Hilton Bristow, with support from Mathworks.
Greatly extended Python bindings, including Python 3 support, and several OpenCV+Python tutorials by Alexander Mordvintsev, Abid Rahman and others.
3D Visualization using VTK by Ozan Tonkal and Anatoly Baksheev.
RGBD module by Vincent Rabaud
Line Segment Detector by Daniel Angelov
Many useful Computational Photography algorithms by Siddharth Kherada
Shape descriptors, matching and morphing shapes (shape module) by Juan Manuel Perez Rua and Ilya Lysenkov
Long-term tracking + saliency-based improvements (tracking module) by Antonella Cascitelli and Francesco Puja
Another good pose estimation algorithm and the tutorial on pose estimation by Edgar Riba and Alexander Shishkov
Line descriptors and matchers by Biagio Montesano and Manuele Tambourin
Myriads of improvements in various parts of the library by Steven Puttemans; thank you a lot, Steven!
Several NEON optimizations by Adrian Stratulat, Cody Rigney, Alexander Petrikov, Yury Gorbachev and others.
Fast foreach loop over cv::Mat by Kazuki Matsuda
Image alignment (ECC algorithm) by Georgios Evangelidis
GDAL image support by Marvin Smith
RGBD module by Vincent Rabaud
Fisheye camera model by Ilya Krylov
OSX framework build script by Eugene Khvedchenya
Multiple FLANN improvements by Pierre-Emmanuel Viel
Improved WinRT support by Gregory Morse
Latent SVM Cascade by Evgeniy Kozhinov and NNSU team (awaiting integration)
Logistic regression by Rahul Kavi
Five-point pose estimation algorithm by Bo Li