OpenCV3.0新特性

2022-01-24 圖像處理

CV行業的人,沒人不知道OpenCV這個開源庫。OpenCV中包含各種經典及最新的圖像處理算法,為開發人員提供了巨大幫助。

近期,OpenCV3.0發布,豐富了很多功能,添加了很多模塊,並進一步提升速度。其中谷歌、微軟等大公司也參與貢獻。


圖1 OpenCV中文字檢測模塊


圖2 OpenCV中的HDR算法

以下是OpenCV官方關於新版本的說明:

With a great pleasure and great relief OpenCV team finally announces OpenCV 3.0 gold release, the most functional and the fastest OpenCV ever. And yet it’s very stable too – all the thousands of tests that we created during the project + many new tests pass successfully on Windows, Linux and Mac, x64 and ARM.

The changes since 3.0-rc, as well previous changes, can be found at http://code.opencv.org/projects/opencv/wiki/ChangeLog. This is a short executive summary on what’s new in 3.0 vs 2.4:

~1500 patches, submitted as PR @ github. All our patches go the same route.

opencv_contrib (http://github.com/itseez/opencv_contrib) repository has been added. A lot of new functionality is there already! opencv_contrib is only compatible with 3.0/master, not 2.4. Clone the repository and use 「cmake … -D OPENCV_EXTRA_MODULES_PATH=<path_to opencv_contrib/modules> …」 to build opencv and opencv_contrib together.

a subset of Intel IPP (IPPCV) is given to us and our users free of charge, free of licensing fees, for commercial and non-commerical use. It’s used by default in x86 and x64 builds on Windows, Linux and Mac.

T-API (transparent API) has been introduced, this is transparent GPU acceleration layer using OpenCL. It does not add any compile-time or runtime dependency of OpenCL. When OpenCL is available, it’s detected and used, but it can be disabled at compile time or at runtime. It covers ~100 OpenCV functions. This work has been done by contract and with generous support from AMD and Intel companies.

~40 OpenCV functions have been accelerated using NEON intrinsics and because these are mostly basic functions, some higher-level functions got accelerated as well.

There is also new OpenCV HAL layer that will simplifies creation of NEON-optimized code and that should form a base for the open-source and proprietary OpenCV accelerators.

The documentation is now in Doxygen: http://docs.opencv.org/master/

We cleaned up API of many high-level algorithms from features2d, calib3d, objdetect etc. They now follow the uniform 「abstract interface – hidden implementation」 pattern and make extensive use of smart pointers (Ptr<>).

Greatly improved and extended Python & Java bindings (also, see below on the Python bindings), newly introduced Matlab bindings (still in alpha stage).

Improved Android support – now OpenCV Manager is in Java and supports both 2.4 and 3.0.

Greatly improved WinRT support, including video capturing and multi-threading capabilities. Thanks for Microsoft team for this!

Big thanks to Google who funded several successive GSoC programs and let OpenCV in. The results of many successful GSoC 2013 and 2014 projects have been integrated in opencv 3.0 and opencv_contrib (earlier results are also available in OpenCV 2.4.x). We can name:

text detection

many computational photography algorithms (HDR, inpainting, edge-aware filters, superpixels, …)

tracking and optical flow algorithms

new features, including line descriptors, KAZE/AKAZE

general use optimization (hill climbing, linear programming)

greatly improved Python support, including Python 3.0 support, many new tutorials & samples on how to use OpenCV with Python.

2d shape matching module and 3d surface matching module

RGB-D module

VTK-based 3D visualization module
etc.

Besides Google, we enjoyed (and hope that you will enjoy too) many useful contributions from community, like:

biologically inspired vision module

DAISY features, LATCH descriptor, improved BRIEF

image registration module
etc.

(note: if anything is missing here, please, mail to us and we will update the announcement and the changelog).

OpenCV官網:

http://opencv.org/

相關焦點

  • OpenCV+VS環境配置一次,永久使用
    主要配置include、lib 和附加項,VS與OpenCV 有對應的版本要求,但是我有用 VS2013 配過OpenCV3.3 也能配置成功,在後臺回復 VS-OpenCV 即可獲得 VS2013版本和 OpenCV3.0。
  • 從OpenCV3.0新特性 看PCL庫的發展
    Morozov.(12年提出的新特徵,13年完善。
  • 中國團隊助力,OpenCV 4.3.0發布了
    DNN對很多網絡層進行了提升,如ONNS中的LSTM, Broadcasting, Algebra over constants, Slice with multiple inputs;DarkNet中的grouped convolutions, sigmoid, swish, scale_channels;MobileNet-SSD v3更多OpenVINO後端特性
  • OpenCV特徵提取與檢測6SURF特徵檢測
    收錄於話題 #opencv SURF特徵檢測     SURF特徵基本介紹     代碼演示SURF特徵基本介紹SURF(Speeded
  • OpenCV 3.0之後三年半,OpenCV 4.0出爐
    現在距離 3.0 版本的發布已經過去三年多,近日 OpenCV 4.0 final 版發布,它進一步完善了核心接口,並添加了二維碼檢測器、ONNX 轉換格式等新特點。重要更新:OpenCV 4.0 現在是一個 C++11 庫,要求 C++11 兼容的編譯器。所需的 CMake 至少是 3.5.1 版本。
  • 與課堂---OpenCV-1
    /opencv-3-1.html下載下來的是一個.exe文件,其實是一個壓縮包--Visual Studio 2015 中文社區版 由於opencv\opencv-3.1.0\build\x64\vc14\bin 設置到環境變量(其中有dll文件,程序運行時會去尋找).\opencv\opencv-3.1.0\build\include.\opencv\opencv-3.1.0\build\include\opencv.
  • Ubuntu下編譯Opencv4.0及opencv_contribute模塊步驟詳解
    +opencv4.0.1 contribute下載opencv4.0.1及contribute模塊https://github.com/opencv/opencv/releases/tag/4.0.1https://github.com/opencv/opencv_contrib/releases/tag/4.0.1更換國內源使用 ubuntu 原生源下載速度
  • OpenCV實戰:人臉關鍵點檢測(FaceMark)
    本教程僅利用OpenCV,不依賴任何其它第三方庫來實現人臉關鍵點檢測,這一特性是之前沒有的。因為OpenCV自帶的samples中只有常見的人臉檢測、眼睛檢測和眼鏡檢測等(方法是harr+cascade或lbp+cascade)。
  • OpenCV 3.0 三年半後,OpenCV 4.0 終於出爐
    現在距離 3.0 版本的發布已經過去三年多,近日 OpenCV 4.0 final 版發布,它進一步完善了核心接口,並添加了二維碼檢測器、ONNX 轉換格式等新特點。重要更新:OpenCV 4.0 現在是一個 C++11 庫,要求 C++11 兼容的編譯器。所需的 CMake 至少是 3.5.1 版本。
  • Windows10+VS2017+cmake 編譯opencv4.1.0 + opencv_contrib4.1.0
    和opencv_contrib版本庫https://opencv.org/releases/https://github.com/opencv/opencv_contrib/releases注意opencv和opencv_contrib的版本一定要對應,即opencv4.1.0 對應 opencv_contrib4.1.0(見圖1和圖2)圖2 opencv_contrib4.1.0下載 cmake,
  • OpenCV簡介及安裝
    支持的接口語言:C ++,Python,Java和MATLAB官網:https://opencv.org/1999年1月,CVL項目啟動。主要目標是人機界面,能被UI調用的實時計算機視覺庫,為Intel處理器做了特定優化。2000年6月,第一個開源版本OpenCV alpha 3發布。
  • Linux系統下編譯OpenCV
    cd進入cuda文件夾,執行以下命令:cat /usr/local/cuda/include/cudnn.h | grepCUDNN_MAJOR -A 2到GitHub下載OpenCV源碼https://github.com/opencv。
  • 《OpenCV-Python 中文教程》(附電子書下載)
    OpenCV-Python 中文教程  OpenCV2-Python-Tutorials  段力輝 譯索引目錄   I 走進 OpenCV 10  II OpenCV 中的 Gui 特性 3 為什麼是這本書  但是非常可惜關於在 Python 下使用 OpenCV 的書,除了這本在線教程之外,僅有一個 100 多頁的書 opencv computer vision with python(本書雖然挺好的,但是不夠全面,不能讓讀者完全了解 opencv 的現狀)。
  • opencv +數字識別
    現在很多場景需要使用的數字識別,比如銀行卡識別,以及車牌識別等,在AI領域有很多圖像識別算法,大多是居於open
  • OpenCV G-API:1. 簡介
    傳統的OpenCV實現:#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"int main(int argc, char *argv[]){
  • OpenCV使用CUDA處理圖像的教程與實戰
    原始的GPU矩陣(gpu_frame)將繼續保存原始圖像,直到新圖像被上傳。第3步:下載處理之後的圖像在GPU上,我們需要把它下載回CPU;注意:.download()將從cv轉換為圖像,即從cuda_GpuMat到 numpy.ndarray。如果需要處理新圖片,只需調用.upload()將新圖片加載到現有的GPU矩陣中。
  • 【opencv實踐】仿射變換和透視變換
    基於這個結論,我們可以通過簡單的立體幾何知識確定P在新坐標系中的坐標。P在新坐標系中的X坐標和Y坐標分別是進而我們可以得到:到此,我們完成了旋轉操作,如何平移呢?opencv同樣給我們提供了計算仿射矩陣的函數接口:getAffineTransform(  const Point2f* src,   輸入圖像的點集 const Point2f* dst 輸出圖像的點集  );這個函數可以計算出我們想要圖像變換的矩陣,但需要我們輸入至少三對點集,點集是什麼鬼
  • 28、 OpenCV直方圖均衡化
    也就是說希望在新分布中儘可能均勻地分布原始分布的值。事實證明,映射函數應該是累積分布函數。可以使用累積分布函數將原始分布重新映射到均勻分布,只需在原始分布中查找每個值並查看均衡分布中應該去的位置。對於連續分布,結果將是精確的均衡,但對於數位化/離散分布,結果可能遠不一致。
  • Ubuntu下安裝OpenCV(八): 2.x的安裝與配置
    由於之前的幾篇文已經將命令行的概念和每一步的操作原理介紹地很詳細了,所以本文僅會對新出現的命令進行解釋,對重複的概念和相同的操作步驟只做簡要說明。上圖是這個系列的索引目錄,下面3篇是OpenCV、VC++、Visual Studio以及安裝包中的文件介紹:
  • 小米路由器Pro的USB3.0傳輸速度實測
    因為用的是7621的CPU,所以對USB3.0接口的傳輸速度是有點期望的,畢竟之前測過迅雷下載寶(同款CPU)的USB3.0讀取速度還不錯。可參考本站測試迅雷下寶的文章。測試兩方面:USB3.0性能和無線傳輸性能。而信號測試,因為要有對比才有意義,所以留到下一篇跟網件R6400做信號對比。USB3.0接的移動硬碟是1T,直接接在電腦USB3.0上,讀取速度都在90MB以上。