點擊我愛計算機視覺標星,更快獲取CVML新技術python
OpenCV 4.0 正式版來啦!雖然官網還沒更新,但Github已經放出來了!git
重回英特爾的OpenCV終於迎來一次大版本更新,增長了諸多新特性,快來一塊兒看看吧~github
由於OpenCV最開始開發時的語言是C,致使許多模塊沒法利用C++ 11的良好特性,OpenCV 4.0版本的一個重要使命就是去除C語言風格的接口,使其徹底支持C++ 11!
算法
1.大量從OpenCV 1.x遺留的C語言風格的API接口被刪掉,主要影響的模塊是objdetect, photo, video, videoio, imgcodecs, calib3d。後端
2.在core模塊中的持久化(在XML,YAML或JSON中存儲和加載結構化數據)已 徹底用 C ++ 從新實現,並去除了相應的 C 風格的接口。 目前,base64支持還沒有完成(僅支持加載base64編碼的XML和YAML,還未支持編碼)。 如今,存儲在FileNode中的序列的隨機訪問是O(N)操做; 使用cv :: FileNodeIterator可以更快地進行順序訪問。 速度上,FileStorage的加載比之前的實現少了3-6倍的內存!api
3.編譯新版OpenCV如今須要支持 C++ 11 的編譯器。微信
DNN(深度神經網絡)模塊是目前OpenCV更新最重要的模塊!
網絡
1.增長Mask-RCNN模型支持。app
其使用指南:ide
https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API
Python例子:https://github.com/opencv/opencv/blob/master/samples/dnn/mask_rcnn.py
52CV曾經報道過的例子:
OpenCV4.0 Mask RCNN 實例分割示例 C++/Python實現
2.集成ONNX解析器。 支持多個流行的分類網絡。 部分支持YOLO對象檢測網絡(YOLO的ONNX版本缺乏一些提供矩形列表的最終圖層)。
3.經過引入Intel DLDT 改進DNN模塊速度。
Intel DLDT近期已經開源,詳見:
https://software.intel.com/openvino-toolkit
4.API更改:默認狀況下,blobFromImage方法不會交換R和B通道,也不會對輸入圖像進行裁剪。 並且,此API更改也已添加到OpenCV 3.4分支。
5.爲不支持OpenCL而支持Vulkan的硬件平臺添加了實驗性質的Vulkan後端(還在開發中!不建議你們使用——52CV君)。
6.爲OpenCV支持的最流行的深度學習網絡添加了快捷方式。 能夠經過指定模型的別名,跳過預處理參數甚至模型的路徑!
好比:
python object_detection.py --model opencv_face_detector.caffemodel --config opencv_face_detector.prototxt --mean 104 177 123 --width 300 --height 300
能夠直接被替代爲:
python object_detection.py opencv_fd
7.修復了AMD和NVIDIA GPU上的OpenCL加速。 如今,能夠爲模型啓用DNN_TARGET_OPENCL,開啓OpenCL支持。 請注意,DNN_TARGET_OPENCL_FP16僅在英特爾GPU上進行測試,所以仍須要額外的flags。(這個善意的提醒也就意味着你最好不要用那兩家的顯卡玩OpenCV(^ ^))
G-API爲算法的硬件優化加速提供計算圖支持!
opencv_gapi是全新添加的模塊, 它是很是有效的圖像處理引擎。開發者能夠在程序中定義多個圖像處理步驟組成的圖,執行的時候進行優化,使得fast and portable。
很是看好這一模塊的應用!
「加速」是OpenCV開發永恆不變的主題!
每次發佈這塊的說明都差很少,總結起來就是一句話:
咱們很努力地給大家在CPU的指令級上進行了加速,只要是支持該指令的CPU儘可能讓大家用上,並且咱們還支持NEON了哦~
objdetect模塊新增QR碼的檢測和解碼!
由於這個功能在移動端幾乎成爲APP的標配了。
參考例子:
https://github.com/opencv/opencv/blob/master/samples/cpp/qrcode.cpp
52CV曾經對檢測功能進行了測試:
實現了流行的Kinect Fusion算法!
並針對CPU和GPU(OpenCL)進行了優化,集成到opencv_contrib / rgbd模塊中。 爲了使實時採集處理更高效,在opencv / videoio模塊中更新了Kinect 2支持。 在4.0 beta版本中,iGPU的代碼已經加速,在高分辨率的狀況下(512x512x512 integration volume),性能提高了3倍。
很是高效且高質量的DIS密集光流算法已經從opencv_contrib轉移到opencv/video模塊。
示例:
https://github.com/opencv/opencv/blob/master/samples/cpp/dis_opticalflow.cpp
這仍是比較讚的,以前OpenCV的光流模塊相比學術界的最新成果實在是太弱了。
總結
新版OpenCV更加聚焦圖像處理基礎功能和深度學習模塊!英特爾自家的加速庫和G-API是值得表揚的亮點!
下載
由於國內網絡時有不穩定,爲幫助你們第一時間嚐鮮,新版OpenCV壓縮包已經被上傳到百度雲,在「我愛計算機視覺」微信公衆號對話界面回覆「opencv4」,便可收到百度雲下載地址。
加羣交流
關注計算機視覺技術,歡迎加入52CV羣,掃碼添加52CV君拉你入羣(請務必註明:加羣):
喜歡在QQ交流的童鞋,能夠加52CV官方QQ羣:928997753。
(不會時時在線,若是沒能及時經過驗證還請見諒)
長按關注我愛計算機視覺
【點贊與轉發】就是一種鼓勵
本文分享自微信公衆號 - 我愛計算機視覺(aicvml)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。