
OpenCV(開源計算機(jī)視覺庫)是一個開源的BSD許可庫,其中包含數(shù)百種計算機(jī)視覺算法。該文檔描述了所謂的OpenCV 2.x API,它本質(zhì)上是一個C ++ API,與基于C的OpenCV 1.x API相反。
OpenCV具有模塊化結(jié)構(gòu),這意味著該軟件包包含幾個共享或靜態(tài)庫。提供以下模塊:
- 核心功能 - 定義基本數(shù)據(jù)結(jié)構(gòu)的緊湊型模塊,包括密集的多維數(shù)組Mat和所有其他模塊使用的基本功能。
- 圖像處理 - 包括線性和非線性圖像濾波,幾何圖像變換(調(diào)整尺寸,仿射和透視扭曲,通用的基于表的重新映射),色彩空間轉(zhuǎn)換,直方圖等的圖像處理模塊。
- 視頻 - 包括運(yùn)動估計,背景減除和對象跟蹤算法的視頻分析模塊。
- calib3d - 基本多視圖幾何算法,單和立體相機(jī)校準(zhǔn),對象姿態(tài)估計,立體聲對應(yīng)算法和3D重建的元素。
- features2d - 顯著特征檢測器,描述符和描述符匹配器。
- objdetect - 檢測對象和預(yù)定義類的實(shí)例(例如,面部,眼睛,杯子,人,汽車等)。
- highgui - 一個易于使用的界面,簡單的UI功能。
- 視頻I / O - 視頻采集和視頻編解碼器的易于使用的界面。
- gpu - 來自不同OpenCV模塊的GPU加速算法。
- ...一些其他幫助模塊,如FLANN和Google測試包裝器,Python綁定等。
該文檔的其他章節(jié)描述了每個模塊的功能。但首先,請確保熟悉庫中使用的常見API概念。
OpenCV簡介
OpenCV 是 Intel 開源計算機(jī)視覺庫。它由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實(shí)現(xiàn)了圖像處理和計算機(jī)視覺方面的很多通用算法。
OpenCV 擁有包括 300 多個C函數(shù)的跨平臺的中、高層 API。它不依賴于其它的外部庫——盡管也可以使用某些外部庫。
OpenCV 對非商業(yè)應(yīng)用和商業(yè)應(yīng)用都是免費(fèi)(FREE)的。(細(xì)節(jié)參考 license)。
OpenCV 為Intel Integrated Performance Primitives (IPP) 提供了透明接口。 這意味著如果有為特定處理器優(yōu)化的的 IPP 庫, OpenCV 將在運(yùn)行時自動加載這些庫。
OpenCV特點(diǎn)
OpenCV版本信息
- 1999年1月,CVL項目啟動。主要目標(biāo)是人機(jī)界面,能被UI調(diào)用的實(shí)時計算機(jī)視覺庫,為Intel處理器做了特定優(yōu)化。
- 2000年6月,第一個開源版本OpenCV alpha 3發(fā)布。
- 2000年12月,針對linux平臺的OpenCV beta 1發(fā)布。
- 2006年,支持Mac OS的OpenCV 1.0發(fā)布。
- 2009年9月,OpenCV 1.2(beta2.0)發(fā)布。
- 2009年10月1日,Version 2.0發(fā)布。
- 2010年12月6日,OpenCV 2.2發(fā)布。
- 2011年8月,OpenCV 2.3發(fā)布。
- 2012年4月2日,發(fā)布OpenCV 2.4。
- 2014年8月21日,發(fā)布OpenCv 3.0 alpha。
- 2014年11月11日,發(fā)布OpenCV 3.0 beta。
- 2015年6月4日,發(fā)布OpenCV 3.0。
- 2016年12月,發(fā)布OpenCV 3.2版(合并969個修補(bǔ)程序,關(guān)閉478個問題)。
- 2017年8月3日,發(fā)布OpenCV 3.3版(最重要的更新是把DNN模塊從contrib里面提到主倉庫),大大提高了深度學(xué)習(xí)模塊和大量的優(yōu)化。
編程語言
《Java 教程》
本教程來源
官網(wǎng):http://docs.opencv.org/master/