OpenCV學習筆記(二)-各種標頭檔案的作用
模組分析
首先,.hpp檔案中包含對應的.h檔案,區別是.hpp檔案把申明和定義寫到了一起,對於公用庫來說是很好的。
#include<cv.h> //cv.h OpenCV的主要功能標頭檔案 #include<highgui.h> //也就是high gui,高層GUI圖形使用者介面,包含媒體的I / O輸入輸出, 視訊捕捉、影象和視訊的編碼解碼、圖形互動介面的介面等內容顯示影象用的標頭檔案。
#include<calib3d.cpp> // 其實就是就是Calibration(校準)加3D這兩個詞的組合縮寫。這個模組主要是相機校準和三維重建相關的內容。基本的多視角幾何演算法,單個立體攝像頭標定,物體姿態估計,立體相似性演算法,3D資訊的重建等等。
core模組:包含以下類容:
OpenCV基本資料結構
動態資料結構 繪圖函式 陣列操作相關函式 輔助功能與系統函式和巨集 與OpenGL的互操作
[features2d]: 也就是Features2D, 2D功能框架 ,包含如下內容
特徵檢測和描述 特徵檢測器(Feature Detectors)通用介面 描述符提取器(Descriptor Extractors)通用介面 描述符匹配器(Descriptor Matchers)通用介面 通用描述符(Generic Descriptor)匹配器通用介面 關鍵點繪製函式和匹配功能繪製函式
[flann]: Fast Library for Approximate Nearest Neighbors,高維的近似近鄰快速搜尋演算法庫, 包含兩個部分:
快速近似最近鄰搜尋
聚類
[gpu]: 運用GPU加速的計算機視覺模組
[ml]: Machine Learning,機器學習模組, 基本上是統計模型和分類演算法,包含如下內容
統計模型 (Statistical Models) 一般貝葉斯分類器 (Normal Bayes Classifier) K-近鄰 (K-NearestNeighbors) 支援向量機 (Support Vector Machines) 決策樹 (Decision Trees) 提升(Boosting) 梯度提高樹(Gradient Boosted Trees) 隨機樹 (Random Trees) 超隨機樹 (Extremely randomized trees) 期望最大化 (Expectation Maximization) 神經網路 (Neural Networks)
[legacy]: 一些已經廢棄的程式碼庫,保留下來作為向下相容,包含如下相關的內容
運動分析 期望最大化 直方圖 平面細分(C API) 特徵檢測和描述(Feature Detection and Description) 描述符提取器(Descriptor Extractors)的通用介面 通用描述符(Generic Descriptor Matchers)的常用介面 匹配器
[objdetect]: 目標檢測模組,包含Cascade Classification(級聯分類)和Latent SVM這兩個部分。
[ocl]: 即OpenCL-accelerated Computer Vision,運用OpenCL加速的計算機視覺元件模組
[photo]: 也就是Computational Photography,包含影象修復和影象去噪兩部分
[stitching]: images stitching,影象拼接模組,包含如下部分:
拼接流水線 特點尋找和匹配影象 估計旋轉 自動校準 圖片歪斜 接縫估測 曝光補償 圖片混合
[video]: 視訊分析元件
該模組包括運動估計,背景分離,物件跟蹤等視訊處理相關內容
[Videostab]: Video stabilization,視訊穩定相關的元件