程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> OpenCV基本架構[OpenCV 筆記0],opencv架構筆記0

OpenCV基本架構[OpenCV 筆記0],opencv架構筆記0

編輯:C++入門知識

OpenCV基本架構[OpenCV 筆記0],opencv架構筆記0


最近正在系統學習OpenCV,將不定期發布筆記,主要按照毛星雲的《OpenCV3編程入門》的順序學習,會參考官方教程和文檔。學習工具是Xcode+CMake,會對書中一部分內容更正,並加入cmakelist的內容。

書中大部分內容來自OpenCV文檔,其實比較推薦官方文檔和教程

OpenCV2.4.13: http://docs.opencv.org/2.4/index.html

OpenCV安裝路徑下的include文件夾包含opencv和opencv2兩個文件夾。opencv文件夾包含OpenCV1的頭文件,opencv2文件夾包含OpenCV2的頭文件。

OpenCV2模塊

opencv_modules.hpp裡面存放了OpenCV2所有組件的宏。按照宏定義介紹如下:

  1. [calib3d] Camera Caliberation + 3D Reconstruction;
  2. [contrib] Contributed/Experimental Stuff, 最新添加的不太穩定的功能,新增了新型人臉識別、立體匹配、人工視網膜模型等;
  3. [core] core functions, 包括OpenCV基本數據結構、繪圖函數、數組操作函數、系統函數和宏、OpenGL的互操作;
  4. [imgproc] Image Processing, 包括圖像濾波、圖像集合變換、直方圖、結構分析和形狀描述、運動分析和對象跟蹤、特征檢測、目標檢測;
  5. [features2d] 2D Features, 特征檢測和通用接口,關鍵點繪制函數和匹配功能繪制函數;
  6. [flann] Fast Library for Approximate Nearest Neighbors, 快速近似最近鄰搜索,聚類;
  7. [gpu] GPU Acceleration;
  8. [highhui] Graphical User Interface, 媒體輸入輸出、視頻捕捉、圖像和視頻的編碼解碼、圖形交互界面接口;
  9. [legacy] 廢棄代碼,為了向下兼容
  10. [ml] Machine Learning: Statical Model, Normal Bayes Classifier, K-Nearest Neighbors, Support Vector Machines, Decision Trees, Boosting, Gradient Boosted Trees, Random Trees, Extremely randomized trees, Expectation Maximization, Neural Networks, MLData;
  11. [nonfree] 具有專利的算法模塊,包括特征檢測和GPU相關,不能商用;
  12. [objdetect] object detection: Cascade Classification, Latent SVM;
  13. [ocl] OpenCL-accelerated Computer Vision;
  14. [photo] Computational Photography, 圖像修復和去噪;
  15. [stitching] image stitching, 圖像拼接包括:拼接流水線,特點尋找和匹配圖像、估計旋轉、自動校准、圖片歪斜、接縫估測、曝光補償、圖片混合;、
  16. [superres] Supper Resolution;
  17. [ts] OpenCV test code;
  18. [vedio] 視頻分析組件,包括運動估計、背景分離、對象跟蹤等;
  19. [Vediostab] Video Stabilization.

OpenCV3的改變

OpenCV3目的是為OpenCV減重,能夠選擇性的去掉一些臃腫的功能模塊,拋棄了整體架構使用內核+插件的結構形式。在Github中,存放著正式版的OpenCV,還有opencv_contrib和opencv_extra

  • opencv: https://github.com/itseez/opencv
  • opencv_contrib: https://github.com/itseez/opencv_contrib
  • opencv_extra: https://github.com/itseez/opencv_extra
  • opencv_contrib是實驗代碼存放的位置,其中包括:臉部識別和文本探測、新的邊緣檢測器、圖像修復、深度地圖處理、新的流光和追蹤算法等。安裝方法為,在CMake中用
opencv_extra_modules_path=/modules

將模塊的地址傳遞給主代碼,並一起編譯。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved