OpenCV 2.4.9核心模塊介紹

  OpenCV主要的核心模塊如下圖所示,這些模塊非常重要,下面將按照圖片上的順序對這些核心模塊的作用進行簡單的介紹,在我自己的電腦裏,放在C:\Users\cyk6625\Downloads\opencv\build\include\opencv2路徑下。

這裏寫圖片描述

1、calib3d模塊
  它就是Calibration(校準)加3D這兩個詞的組合縮寫。這個模塊主要是相機校準和三維重建相關的內容。基本的多視角幾何算法,單個立體攝像頭標定,物體姿態估計,立體相似性算法,3D信息的重建等等。
  相機標定用於去除相機自身缺陷導致的畫面形變,還原真實的場景,確保計算的準確性。三維重建通常用在雙目視覺(立體視覺),即兩個標定後的攝像頭觀察同一個場景,通過計算兩幅畫面中的相關性來估算像素的深度。
2、contrib模塊
   它是Contributed/Experimental Stuf的縮寫, 該模塊包含了一些最近添加的不太穩定的可選功能,不用去關心。2.4.9裏的這個模塊有新型人臉識別,立體匹配,人工視網膜模型等技術。這些是一些開發者新貢獻出來的尚不成熟的代碼。
3、core模塊
  核心功能模塊,包含如下內容:
  (1)定義了基本的數據結構,包括最重要的 Mat 類、XML 讀寫、opengl三維渲染等;
  (2)動態數據結構;
  (3)繪圖函數;
  (4)數組操作相關函數;
  (5)輔助功能與系統函數和宏;
  (6)與OpenGL的互操作。
4、imgproc模塊
  它是Image和Processing這兩個單詞的縮寫組合。也就是圖像處理模塊,是計算機視覺的重要工具,這個模塊包含了如下內容:
  (1)線性和非線性的圖像濾波;
  (2)圖像的幾何變換;
  (3)其它(Miscellaneous)圖像轉換;
  (4)直方圖相關;
  (5)結構分析和形狀描述;
  (6)運動分析和對象跟蹤;
  (7)特徵檢測;
  (8)目標檢測等內容。
5、features2d模塊
  二維特徵檢測與描述模塊。它包含 2D 特徵值檢測的框架。包含各種特徵值檢測器及描述子,例如 FAST、MSER、OBRB、BRISK等。各類特徵值擁有統一的算法接口,因此在不影響程序邏輯的情況下可以進行替換。可將該模塊的內容概括如下:
  (1)特徵檢測和描述;
  (2)特徵檢測器(Feature Detectors)通用接口;
  (3)描述符提取器(Descriptor Extractors)通用接口;
  (4)描述符匹配器(Descriptor Matchers)通用接口;
  (5)通用描述符(Generic Descriptor)匹配器通用接口;
  (6)關鍵點繪製函數和匹配功能繪製函數。
6、flann模塊
  它是Fast Library for Approximate Nearest Neighbors的縮寫,高維的近似近鄰快速搜索算法庫,用於在多維空間內聚類及搜索的近似算法,做圖像檢索的讀者對它不會陌生。
7、gpu模塊
   它是運用GPU加速的計算機視覺模塊,包含一些可以利用cuda進行加速的函數。
8、highgui模塊
  它是就是high gui的合寫,即高層GUI圖形用戶界面,包含媒體的I/O輸入輸出,視頻捕捉、圖像和視頻的編碼解碼、圖形交互界面的接口等內容。
9、legacy模塊
  一些已經廢棄的代碼庫,保留下來作爲向下兼容,包含如下相關的內容:
  (1)運動分析;
  (2)期望最大化;
  (3)直方圖;
  (4)平面細分(CAPI);
  (5)特徵檢測和描述(Feature Detection and Description);
  (6)描述符提取器(Descriptor Extractors)的通用接口;
  (7)通用描述符(Generic Descriptor Matchers)的常用接口;
  (8)匹配器。
10、ml模塊
  它是Machine Learning的縮寫,即機器學習模塊, 基本上是統計模型和分類算法,包含如下內容:
  (1)統計模型 (Statistical Models);
  (2)一般貝葉斯分類器 (Normal Bayes Classifier);
  (3)K-近鄰 (K-NearestNeighbors);
  (4)支持向量機 (Support Vector Machines);
  (5)決策樹 (Decision Trees);
  (6)提升方法(Boosting);
  (7)梯度提高樹(Gradient Boosted Trees);
  (8)隨機森林(Random Trees);
  (9)超隨機森林(Extremely randomized trees);
  (10)期望最大化 (Expectation Maximization);
  (11)神經網絡 (Neural Networks);
  (12)MLData。
11、nonfree模塊
  這是一些具有專利的算法模塊 ,包含特徵檢測和GPU相關的內容。其中有SIFT和SURF,從功能上來說這兩個算法屬於features2d模塊的,但由於它們都是受專利保護的,想在項目中可能需要專利方的許可。
12、objdetect模塊
  目標檢測模塊,包含Cascade Classification(級聯分類)、Latent SVM、基於Haar特徵或HBP特徵(local binary patterns)特徵的人臉檢測和基於HOG(history of oriented gradient )特徵的人體檢測以及文字檢測等。
13、ocl模塊
  即OpenCL-accelerated Computer Vision,是運用OpenCL加速的計算機視覺組件模塊。
14、photo模塊
   它是Computational Photography的縮寫,包含圖像修復和圖像去噪、HDR成像和非真實感渲染等。
15、stitching模塊
  images stitching,圖像拼接模塊,可製作全景圖像,包含如下部分:
  (1)拼接流水線;
  (2)特點尋找和匹配圖像;
  (3)估計旋轉;
  (4)自動校準;
  (5)圖片歪斜;
  (6)接縫估測;
  (7)曝光補償;
  (8)圖片混合。
16、superres模塊
  SuperResolution,超分辨率技術的相關功能模塊,用於增強圖像的分辨率。
17、ts模塊
  opencv測試相關代碼,不用去關心。
18、video模塊
  視頻分析模塊,該模塊包括運動估計,背景分離,對象跟蹤、背景提取、光流跟蹤、卡爾曼濾波等內容,做視頻監控的讀者會經常使用這個模塊。
19、Videostab模塊
  Video stabilization,視頻穩定相關的組件,用於解決相機移動時拍攝的視頻不夠穩定的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章