OpenCV 2.4.9 學習筆記(1)—— 基本功能結構


一些關於OpenCV(2.4.9版本)的學習筆記,作為記錄,以免自己忘了。

安裝與配置

  OpenCV的下載、安裝以及在各個平台(Windows/Linux等)配置網上有很多的資料,自己就不用存了。需要或者遇到問題的時候再說。

基本模塊結構

  OpenCV(Open Source Computer Vision Library),一個遵循BSD協議的計算機視覺技術開源庫,包含了幾百個計算機視覺算法。目前最新版本應該是OpenCV3.0,alpha版和beta版都有了,我目前是用的2.4.9,3.0版本貌似有不少3D還有GPU相關的更新,很不錯,關於3.0版本的后面再學習。OpenCV 2.x API還是一個完全C++ API,當然也有支持其他一些語言的接口版本。OpenCV的模塊包括下面這些:

  1、core — 基礎核心模塊,定義了一些需要用到的基本的數據結構,包括多為數組Mat等其他的模塊需要的核心對象。

  2、imgproc — 圖像處理模塊,包括了線性和非線性的圖像濾波(Linear and Non-Linear Image Filtering)、幾何圖像變換(如,縮放(Resize)、仿射與透視變換(affine and perspective warping)、generic table-based remapping)、顏色空間變換( color space conversion)和直方圖(histograms)等。

  3、video — 視頻分析模塊,包含運動估計(Motion Estimation)、背景消除/背景差分(Background Subtraction)和物體跟蹤(Object Tracking)算法。

  4、calib3d — 3D圖像處理方面的一個模塊,包含了基本的多視角幾何算法(basic multiple-view geometry algorithms)、單體和立體相機的標定(Single and Stereo Camera Calibration)、對象姿態估計(Object Pose Estimation)、雙目立體匹配(Stereo Correspondence)算法和元素的三維重建(Elements of 3D Reconstruction)。

  5、features2d — 特征檢測、描述、匹配算法模塊,包含了顯著特征檢測算法(salient feature detectors)、描述算子(descriptors)和算子匹配算法(descriptor matchers)。

  6、objdetect — 目標檢測模塊,包括實物檢測和一些預定義的物體的檢測如人臉、眼睛、杯子、行人、汽車等。

  7、highgui — UI接口模塊,為視頻捕捉(Video Capturing)、圖像和視頻編碼(Image and Video Codecs)等功能提供易用的UI接口。

  8、gpu — gpu模塊,用於支持其他模塊的GPU加速算法。

  9、ml — 機器學習模塊,提供了多種基本和經典的機器學習算法,用於支持各種計算機視覺功能的實現。

  10、還有一些其他的模塊,用的少或者不是很大規模,以后用到的時候再記了。

API說明

  命名空間:cv,所有的OpenCV的方法和函數都需要使用這個命名空間。使用 cv:: 符號或者 using namespace cv 。如:

1 #include "opencv2/core/core.hpp"
2 ...
3 cv::Mat H = cv::findHomography(points1, points2, CV_RANSAC, 5);
4 ...

或者這樣也行:

1 #include "opencv2/core/core.hpp"
2 using namespace cv;
3 ...
4 Mat H = findHomography(points1, points2, CV_RANSAC, 5 );
5 ...

  OpenCV中有些現存的或者以后新版本中會有一些命名與STL庫或者其他庫因同名而沖突。這種情況下,需要顯示地寫出命名空間 cv::,如下面所示:

1 Mat a(100, 100, CV_32F);
2 randu(a, Scalar::all(1), Scalar::all(std::rand()));
3 cv::log(a, a);
4 a /= std::log(2.)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM