本節書摘來自華章計算機《opencv圖像處理》一書中的第1章,第1.3節,作者:[西]葛羅瑞亞·布埃諾·加西亞(gloria bueno garcía)著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
一旦安裝了opencv,在opencv_buildinstall目錄中将加入三種類型的檔案:
頭檔案:這些檔案位于opencv_buildinstallinclude子目錄下,用于使用opencv開發新項目。
庫的二進制檔案:這些檔案是靜态庫或動态庫(依賴于使用cmake對選項的選擇),它們包含了每個opencv子產品的功能。這些檔案位于bin子目錄下(例如,使用gnu編譯器時,位于x64mingwbin)。
示例二進制檔案:這些檔案使示例在庫下可執行。這些示例的源檔案可以在源程式包中找到(例如,opencv_srcsourcessamples)。
opencv有一個子產品化結構,這意味着代碼包中包含了每個子產品的一個靜态庫或動态庫(dll)。包含在代碼包中的主子產品有:
core:這個子產品定義了被所有其他子產品和基本資料結構(包括重要的多元數組mat)使用的基本函數。
highgui:這個模型提供簡單的使用者接口(user interface,ui)功能。使用qt支援(with_qt cmake選項)建立的庫允許ui和這樣的架構相容。
imgproc:這些子產品是一些圖像處理函數,包括濾波(線性的和非線性的)、幾何變換、顔色空間變換、直方圖等。
imgcodecs:這個子產品是一個用于讀、寫圖像的易用接口。
從opencv 3.0開始子產品中的一些變化要注意,某些功能已經被移到一個新子產品(例如,将讀取圖像函數和寫入圖像函數從highgui移入到imgcodecs)。
photo:這個子產品包含計算攝影學,涉及修複、去噪、高動态範圍(hdr)圖像等。
stitching:這個子產品用于圖像拼接。
videoio:這個子產品對于視訊捕獲和視訊編碼器是一個易用的接口。
video:這個子產品提供了視訊分析的功能(運動估計、背景提取以及對象跟蹤)。
features2d:這些子產品是用于特征檢測(角點對象和平面對象)、特征描述、特征比對等的一些函數。
objdetect:這些子產品是用于對象檢測和預定義檢測器執行個體(例如,人臉、眼睛、微笑、人、車等)的一些函數。
其他的一些子產品是calib3d(錄影機校準)、f?lann(聚類和搜尋)、ml(機器學習)、shape(形狀距離和比對)、superres(超分辨率)、video(視訊分析)和videostab(視訊穩定)。
在3.0測試版中,新的貢獻子產品是在一個獨立的包(opencv_contrib-master.zip)中釋出的,在使用這些子產品之前應該完全了解這些子產品。在新釋出的opencv(3.0版本)中,關于新功能的簡要概述,請參考<code>http://opencv.org/opencv-3-0-beta.html</code>文檔。