一、定義
OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。
二、來源
OpenCV是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。
三、作用
OpenCV可用於開發實時的圖像處理、計算機視覺以及模式識別程序。該程序庫也可以使用英特爾公司的IPP進行加速處理。
四、歷史
OpenCV項目最早由英特爾公司於1999年啓動,致力於CPU密集型的任務,是一個包括如光線追蹤和3D顯示的計劃的一部分。早期OpenCV的主要目標是
- 爲推進機器視覺的研究,提供一套開源且優化的基礎庫。不重造輪子。
- 提供一個共同的基礎庫,使得開發人員的代碼更容易閱讀和轉讓,促進了知識的傳播。
- 透過提供不需要開源或免費的軟件許可,促進商業應用軟件的開發。
- OpenCV現在也集成了對CUDA的支持.
OpenCV的第一個預覽版本於2000年在IEEE Conference on Computer Vision and Pattern Recognition公開,並且陸續提供了五個測試版本。1.0版本於2006年發佈。
OpenCV的第二個主要版本是2009年10月的OpenCV 2.0。該版本的主要更新包括C++接口,更容易、更類型安全的模式,新的函數,以及對現有實現的優化(特別是多核心方面)。現在每6個月就會有一個官方版本,並由一個商業公司贊助的獨立小組進行開發。
在2012年8月,OpenCV的營運由一個非營利組織(OpenCV.org)來提供,並保留了一個開發者網站和用戶網
五、解決問題
增強現實
人臉識別
手勢識別
人機交互
動作識別
運動跟蹤
物體識別
圖像分割
機器人
六、編程語言
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數可以透過在線文檔獲取。現在也提供對於C#, Ch,Ruby的支持。
所有新的開發和算法都是用C++接口。一個使用CUDA的GPU接口也於2010年9月開始實現.
七、操作系統支持
OpenCV可以在Windows, Android, Maemo,FreeBSD, OpenBSD, iOS,Linux和Mac OS等平臺上運行。用戶可以在Github獲得官方版本,或者從Git獲得開發版本。OpenCV也是用CMake.