您好,登錄后才能下訂單哦!
這篇文章主要介紹OpenCV基本模塊有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
OpenCV
的全稱是:Open Source Computer Vision Library
。OpenCV
是一個基于BSD
許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux
、Windows
和Mac OS
操作系統上。它輕量級而且高效——由一系列 C
函數和少量 C++
類構成,同時提供了Python
、Ruby
、MATLAB
等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
所有新的開發和算法都是用C++
接口。一個使用CUDA
的GPU
接口也于2010年9月開始實現。
官方主頁:http://opencv.org/
在調用opencv
時需要用到的頭文件分布(默認安裝情況下,同時下面都是基于2.4.x版本):
對windows
系統來說,一般在OPENCV_DIR/build/include/
文件夾下,所以在VS中調用時需要配置附加庫目錄;
對ubuntu
系統來說,一般在/usr/local/include/
文件夾下,系統目錄下,系統可以自動識別;
在include
一般包含兩個文件夾:
opencv
文件夾下面的內容是OpenCV1.0
保留下來的頭文件,現在很少使用了,所以在這里不關注;
opencv2
文件夾下是以后主要用到的功能模塊;
opencv2
文件夾下面的結構如下圖:
下面來單獨介紹每個模塊的功能(主要參考《OpenCV3編程入門》這本書,下面有下載鏈接,有興趣的可以查看一下):
core
,核心功能模塊,主要包含如下的內容:
OpenCV
基本數據結構(Basic Structures
);
基本的C
語言數據結構和操作(Basic C Structures and Operations
);
動態數據結構(Dynamic Structures
);
數組操作相關函數(Operations on Arrays
);
繪圖功能(Drawing Functions
);
XML
和YAML
語法的支持(XML/YAML Persistence
);
XML
和YAML
語法的支持的C
語言接口(XML/YAML Persistence (C API)
);
聚類(Clustering
);
輔助功能與系統函數和宏(Utility and System Functions and Macros
);
與OpenGL
的互操作(OpenGL interoperability
);
imgproc
,是Image Processing
的簡寫。圖像處理模塊,主要包含以下內容:
線性和非線性的圖像濾波(Image Filtering
);
圖像的幾何變換(Geometric Image Transformations
);
圖像的其他變換(Miscellaneous Image Transformations
);
直方圖(Histograms
);
結構分析和形狀描述(Structural Analysis and Shape Descriptors
);
運動分析和目標跟蹤(Motion Analysis and Object Tracking
);
特征檢測(Feature Detection
);
目標檢測(Object Detection
);
highgui
,是High-level GUI and Media I/O
的簡寫。高層用戶界面模塊和媒體輸入/輸出模塊,主要包含以下內容:
用戶界面(User Interface
);
圖片和視頻的讀寫(Reading and Writing Images and Video
);
QT新功能(Qt New Functions
);
features2d
,是2D Features Framework
的簡寫。二維特征框架模塊,主要包含以下內容:
特征的檢測和描述(Feature Detection and Description
);
特征檢測器的通用接口(Common Interfaces of Feature Detectors
);
描述符提取器的通用接口(Common Interfaces of Descriptor Extractors
);
描述符匹配器的通用接口(Common Interfaces of Descriptor Matchers
);
通用描述符匹配器通用接口(Common Interfaces of Generic Descriptor Matchers
);
關鍵點和匹配結果的繪制功能(Drawing Function of Keypoints and Matches
);
目標分類(Object Categorization
);
flann
,Clustering and Search in Multi-Dimensional Spaces
,多維空間聚類和搜索模塊,主要包含以下內容:
快速近視最近鄰搜索(Fast Approximate Nearest Neighbor Search
);
聚類(Clustering
);
video
,是Video Analysis
的簡寫。視頻分析模塊,主要包含以下內容:
運動分析和目標跟蹤(Motion Analysis and Object Tracking
),視頻相關的,上面提到的是圖片相關的;
calib3d
,是Camera Calibration and 3D Reconstruction
的簡寫。這個模塊主要是相機校準和三維重建相關的內容,包括基本的多視角幾何算法、單個立體攝像頭標定、物體姿態估計、立體相似性算法,3D信息的重建等。
gpu
,是GPU-accelerated Computer Vision
的簡寫,利用GPU
加速的視覺模塊,主要包含以下內容:
GPU
模塊介紹(GPU Module Introduction
);
初始化和信息(Initalization and Information
);
數據結構(Data Structures
);
矩陣操作(Operations on Matrices
);
逐個元素操作(Per-element Operations
);
圖像處理(Image Processing
);
矩陣降維(Matrix Reductions
);
目標檢測(Object Detection
);
特征檢測和描述(Feature Detection and Description
);
圖像濾波(Image Filtering
);
相機標定和三維重建(Camera Calibration and 3D Reconstruction
);
視頻分析(Video Analysis
);
ocl
,是OpenCL-accelerated Computer Vision
的簡寫,運用OpenCL加速的視覺模塊,主要包含以下內容:
OpenCL
模塊介紹(OpenCL Module Introduction
);
數據結構和公用功能(Data Structures and Utility Functions
);
數據結構(Data Structures
);
矩陣操作(Operations on Matrics
);
矩陣降維(Matrix Reductions
);
圖像濾波(Image Filtering
);
圖像處理(Image Processing
);
機器學習(ml.Machine Learning
);
目標檢測(Object Detection
);
特征檢測和描述(Feature Detection And Description
);
視頻分析(Video Analysis
);
相機標定和三維重建(Camera Calibration and 3D Reconstruction
);
contrib
,是Contributed/Experimental Stuff
的簡寫。該模塊包含了一些最近添加的不太穩定的可選的功能,一般用不著,不用太關注。主要包含如下的內容:
立體匹配(Stereo Correspondence
);
人臉識別模型(FaceRecognizer Documentation
);
視網膜模型(Retina Documentation
);
開源的快速外貌的映射算法(OpenFABMAP
,Fast Appearance-based Mapping algorithm
);
objdetect
,是Object Detection
的簡寫。目標檢測模塊,主要包含以下內容:
級聯分類(Cascade Classification
);
SVM分類模型(Latent SVM
);
ml
,是Machine Learning
簡寫。機器學習模塊,主要包含以下內容:
統計模型(Statistical Models
);
一般貝葉斯分類器(Normal Bayes Classifier
);
K-近鄰(K-Nearest Neighbors
);
支持向量機(Support Vector Machines
);
決策樹(Decision Trees
);
提升(Boosting
);
梯度提高樹(Gradient Boosted Trees
);
隨機數(Random Trees
);
超隨機樹(Extremely randomized trees
);
期望最大化(Expectation Maximization
);
神經網絡(Neural Networks
);
機器學習數據(MLData
);
photo
,Computational Photography
,計算攝影模塊,主要包含以下內容:
修復(Inpainting
);
去噪(Denoising
);
stitching
,Images stitching
,圖像拼接模塊,主要包含以下內容:
拼接流水線(Stitching Pipeline
);
參考文獻(References
);
高層功能,拼接器(High Level Functionality
);
相機(Camera
);
特征尋找和圖像匹配(Features Finding and Images Matching
);
旋轉估計(Rotation Estimation
);
自動校準(Autocalibration
);
圖像扭曲(Images Warping
);
接縫估計(Seam Estimation
);
曝光補償(Exposure Compensation
);
圖形混合(Image Blenders
);
nonfree
,Non-free functionality
,不免費的功能,一些具有專利的算法模塊,主要包含以下內容:
特征提取和描述(Feature Detection and Description
);
legacy
,Deprecated stuff
,一些廢棄的代碼模塊,留下了為了向下兼容,主要包含以下內容:
運動分析(Motion Analysis
);
期望最大值(Expectation Maximization
);
直方圖(Histograms
);
平面細分C
語言接口(Planar Subdivisions (C API)
);
特征提取和描述(Feature Detection and Description
);
描述符提取器的通用接口(Common Interfaces of Descriptor Extractors
);
通用描述符的通用接口(Common Interfaces of Generic Descriptor Matchers
);
superres
,是Super Resolution
的簡寫,超分辨率技術模塊,主要包含以下內容:
超分辨率(Super Resolution
);
viz
,是3D Visualizer
的簡寫,三維可視化工具模塊,主要包含以下內容:
可視化(Viz
);
組件(Widget
);
以上是“OpenCV基本模塊有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。