OpenCV 4.0正式釋出,你關注哪些特性?
在OpenCV開創性 3.0 版本釋出 3 年半之後,終於,等來了OpenCV 4.0 第一個穩定版本!
OpenCV透過GITHUB正式釋出:
OpenCV 是一個基於 BSD 許可(開源)發行的跨平臺計算機視覺庫,可以執行在 Linux、Windows、Android 和 Mac OS 作業系統上。它輕量級而且高效——由一系列 C 函式和少量 C++ 類構成,同時提供了 Python、Ruby、MATLAB 等語言的介面,實現了影像處理和計算機視覺方面的很多通用演算法。
我們一塊兒去看看它的新特性吧!
1.OpenCV 最開始開發時的語言是 C,許多模組無法利用 C++ 11 的良好特性,所以自OpenCV1.x以來許多C風格的API就被幹掉啦。歷史好像就是這樣,前浪總歸是要···所以,學習OpenCV,最佳就是從最新的版本開始會比較好。
2.在 core 模組中的持久化(在 XML,YAML 或 JSON 中儲存和載入結構化資料)已完全用 C ++ 重新實現,也就是說C風格API拜拜了您那。目前,base64 支援尚未完成(僅支援載入 base64 編碼的 XML 和 YAML,還未支援編碼),用過OpenCV中ML模組嗎?以後,載入與儲存會快許多!
3.編譯新版 OpenCV 現在需要支援 C++ 11 的編譯器。
4.C++11的標準庫擴充套件,以後沒有cv::String與cv::Ptr了。現在,儲存在 FileNode 中的序列的隨機訪問是 O(N) 操作; 使用 cv :: FileNodeIterator 能夠更快地進行順序訪問。
最為重要的就是 OpenCV 更新的 DNN (深度神經網路)模組啦!
1. 增加支援 Mask-RCNN 模型的預測。
使用指南:例子:
2.整合 ONNX 解析器。 支援多個流行的分類網路。 部分支援 YOLO 物件檢測網路(YOLO 的 ONNX 版本缺少一些提供矩形列表的最終圖層)。
3.透過引入 Intel DLDT 改進 DNN 模組速度。不過,這個對一般的開發者沒有太大的影響。
Intel DLDT 近期已經開源,詳見:
4.這一條就和開發者相關性比較大了,DNN模組輸入tensor資料的API更改。預設情況下,blobFromImage 方法不會交換 R 和 B 通道,也不會對輸入影像進行裁剪。 而且,此 API 更改也已新增到 OpenCV 3.4 分支。
5.如果OpenCL不支援,可以透過Vulkan backend。(開發中···)
6.為 OpenCV 支援的最流行的深度學習網路新增了快捷方式。 可以透過指定模型的別名,跳過預處理引數甚至模型的路徑。
以前:python object_detection.py --model opencv_face_detector.caffemodel --config opencv_face_detector.prototxt --mean 104 177 123 --width 300 --height 300you can type just現在:python object_detection.py opencv_fd
7. 修復了 AMD 和 NVIDIA GPU 上的 OpenCL 加速。就是一個提醒,不需要配置太多,不過,不用 Intel GPU 是不是不太好。
這兒得提一句,新模組 G-API 模組!
opencv_gapi 是全新新增的模組,它是非常有效的影像處理引擎。開發者可以在程式中定義多個影像處理步驟組成的圖,執行的時候進行最佳化,使得 fast and portable。
效能全部提升,各種最佳化,跟開發者關係比較大的是這條,自己編譯OpenCV原始碼時候,新增CPU_BASELINE=AVX2可以獲得比原來15~30%的速度提升,請收藏此技能。
假裝此處有二維碼······
同時,objdetect 模組中新增 二維碼的檢測和解碼,這年代的移動App這個技能只能說是標配吧。
參照:
3D物件掃描與模型建立流行演算法Kinect Fusion algorithm已經被實現,被整合到了rgbd模組中。
非常高效且高質量的 DIS 密集光流演算法已經從 opencv_contrib 轉移到 opencv/video 模組。
示例:
總結
新版 OpenCV 更加聚焦影像處理基礎功能和深度學習模組!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2221449/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flink 1.11.0 釋出,有哪些值得關注的新特性?
- NutUI 4.0 正式釋出!UI
- OpenCV 4.5.1正式釋出!OpenCV
- Laravel 8 正式釋出!來看看有哪些新特性Laravel
- .NET 6 Preview 6 正式釋出: 關注網路開發View
- 2021 re:Invent ,我們到底該關注哪些釋出?
- 正式釋出!VS Code 1.66新特性
- Java 11正式釋出,新特性解讀Java
- selenium 4.0 釋出
- QEMU 4.0 釋出
- OpenCV 3.0之後三年半,OpenCV 4.0出爐OpenCV
- Kubernetes v1.23.0 正式釋出,新特性一覽
- Python 3.7 正式釋出, 大量新特性和優化Python優化
- Java 22正式釋出,一文了解全部新特性Java
- 特性速覽| Apache Hudi 0.5.3版本正式釋出Apache
- PostgreSQL 13.0正式版本釋出!更多新特性來襲SQL
- ? 「掘金官方」關注的人釋出的文章上線啦!
- 應急響應中你到底該關注哪些指標?指標
- Android 12 正式釋出!都帶來了哪些驚喜?Android
- 探討2021出海:哪些新增長渠道值得關注?
- 谷景告訴你功率電感選型需要關注哪些
- 5月第2周業務風控關注 | 等保2.0將於5月13日正式釋出
- 關注你所關注的 - Golang社群調研報告Golang
- Firefox 119 正式釋出Firefox
- .NET 8正式釋出
- Java 22 正式釋出Java
- Flutter 3.7 正式釋出Flutter
- Dart 2.17 正式釋出Dart
- Kubernetes 1.25正式釋出!
- Fedora 31 正式釋出
- Kotlin 1.3.70正式釋出Kotlin
- Flutter 2.8 正式釋出Flutter
- Go 1.18 正式釋出!Go
- DragonFlyBSD 5.4.3 正式釋出Go
- Kotlin 1.3.40正式釋出Kotlin
- Kotlin 1.3.30 正式釋出Kotlin
- Kotlin 1.3.20正式釋出Kotlin
- 你關注的熱門AI技術,都有哪些最新落地案例了AI