1. 程式人生 > >OpenCV學習筆記(二)-各種標頭檔案的作用

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,視訊穩定相關的元件