**:
我們進入到d:\programfiles\opencv\build\include目錄,可以看到有opencv和opencv2這兩個資料夾。顯然,opencv這個資料夾裡面包含著舊版的標頭檔案。
而opencv2這個資料夾裡面包含著具有時代意義的新版opencv2系列的標頭檔案。
在opencv這個資料夾裡面,也就是d:\program files\opencv\build\include\opencv目錄下,可以看到如下的各種標頭檔案。這裡面大概就是opencv 1.0最核心的,而且保留下來的內容的標頭檔案,可以把它們整體理解為乙個元件。
再來看看我們重點關注的opencv2這邊,
在d:\programfiles\opencv\build\include\opencv2目錄下,我們可以看到這些資料夾:
我們靈機一動,發現下面有個叫opencv_modules.hpp的hpp檔案,一看就知道裡面存放的是opencv2中的新模組構造相關的說明**,開啟一看,果不其然,定義的是opencv2所有元件的巨集:
下面就是opencv的所有模組介紹,按照順序來:
【calib3d】——其實就是就是calibration(校準)加3d這兩個詞的組合縮寫。這個模組主要是相機校準和三維重建相關的內容。基本的多視角幾何演算法,單個立體攝像頭標定,物體姿態估計,立體相似性演算法,3d資訊的重建等等。
【contrib】——也就是contributed/experimental stuf的縮寫, 該模組包含了一些最近新增的不太穩定的可選功能,不用去多管。2.4.8裡的這個模組有新型人臉識別,
立體匹配
,人工視網膜模型等技術。
【core】——核心功能模組,包含如下內容:
【imgproc】——image和processing這兩個單詞的縮寫組合。影象處理模組,這個模組包含了如下內容:
【features2d】——也就是features2d, 2d功能框架 ,包含如下內容:
【flann】包含兩個部分:
【gpu】——運用gpu加速的計算機視覺模組
【highgui】
——也就是high gui,高層gui圖形使用者介面,包含**的i / o輸入輸出,
【legacy】
【ml】——machine learning,機器學習模組, 基本上是統計模型和分類演算法,包含如下內容:
【nonfree】,也就是一些具有專利的演算法模組 ,包含特徵檢測和gpu相關的內容。最好不要商用,可能會被告哦。
【objdetect】
——目標檢測模組,包含cascade classification(級聯分類)和latent svm這兩個部分。
【ocl】
——即opencl-accelerated computer vision,運用opencl加速的計算機視覺元件模組
【photo】
——也就是computational photography,包含影象修復和影象去噪兩部分
【stitching】
——images stitching,影象拼接模組,包含如下部分:
【superres】——superresolution,超解析度技術的相關功能模組
【ts】
——opencv測試相關**,不用去管他
【video】
【videostab】
OpenCV元件架構
calib3d calibration 校準 加3d這兩個詞的組合縮寫。這個模組主要是相機校準和三維重建相關的內容。基本的多視角幾何演算法,單個立體攝像頭標定,物體姿態估計,立體相似性演算法,3d資訊的重建等等。contrib contributed experimental stuf的縮寫,該模組...
opencv2 x檔案結構解析
1 opencv簡介 2 opencv模組結構 modular structure opencv擁有乙個模組結構,也就是說,opencv包 package 裡包含數個共享的或靜態的庫 libraries 分別如下 opencv doc opencv2refman.pdf p1 core.該模組定義了...
SpringMVC元件解析
前端控制器 dispatcherservlet 使用者請求到達前端控制器,它就相當於 mvc 模式中的 c,dispatcherservlet 是整個流程控制的中心,由 它呼叫其它元件處理使用者的請求,dispatcherservlet 的存在降低了元件之間的耦合性。對映方式,例如 配置檔案方式,實...