一、 OpenCV 簡介
OpenCV(開源計算機視覺庫 http://opencv.org ) 是一個開源的BSD許可庫建蹄,包含數(shù)百種計算機視覺算法。 該文檔描述了所謂的OpenCV 2.x API涯竟,它本質(zhì)上是一個C ++ API实幕,與基于C語言的OpenCV 1.x API有所差異。此文檔針對于OpenCV 2.X API翻譯睬塌,OPenCV 1.X API.pdf有關于C語言接口解釋泉蝌,敬請關注。
官方文檔:
OpenCV 教程 — OpenCV 2.3.2 documentation http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
OpenCV具有模塊化結(jié)構揩晴,這意味著該包包含多個共享庫或靜態(tài)庫勋陪。 可以使用以下模塊:
- Core functionality:基礎數(shù)據(jù)模塊,包含一些發(fā)雜數(shù)據(jù)結(jié)構和基本函數(shù)方法硫兰。
- Image processing :圖像處理模塊诅愚,包括線性和非線性圖像濾波,幾何圖像變換(調(diào)整大小劫映,仿射和透視扭曲违孝,基于通用表的重新映射)刹前,顏色空間轉(zhuǎn)換,直方圖等等浊。
- video : 視頻分析模塊腮郊,包括運動估計,背景減法和對象跟蹤算法筹燕。
- calib3d : 基本的多視圖幾何算法轧飞,單一和立體攝像機校準,對象姿態(tài)估計撒踪,立體視覺匹配算法和3D重建元素过咬。
- features2d : 特征檢測器,描述符和描述符匹配器制妄。
- objdetect : 檢測預定義類的對象和實例(例如掸绞,面部,眼睛耕捞,馬克杯衔掸,人,汽車等)俺抽。
- highgui :UI界面以及UI功能
- Video I/O :簡單的視頻捕獲和視頻編解碼器接口敞映。
- gpu : 支持不同OpenCV模塊的GPU加速算法.
- ... 一些其他幫助器模塊,例如FLANN和Google測試包裝器磷斧,Python綁定等振愿。
文檔的后續(xù)章節(jié)講述了每個模塊的功能。 但首先弛饭,請確保熟悉庫中徹底使用的常見API概念冕末。
二、API 概述
2.1 cv Namespace
所有OpenCV類和函數(shù)都放在cv命名空間中侣颂。 因此档桃,要從代碼中訪問此功能,請使用cv :: specifier或using namespace cv; 指示:
#include "opencv2/core.hpp"
...
cv::Mat H = cv::findHomography(points1, points2, CV_RANSAC, 5);
...
or :
#include "opencv2/core.hpp"
using namespace cv;
...
Mat H = findHomography(points1, points2, CV_RANSAC, 5 );
...
在遇到OpenCV外部名稱可能與STL或其他庫沖突横蜒。 在這種情況下胳蛮,使用顯式名稱空間說明符來解決名稱沖突:
Mat a(100, 100, CV_32F);
randu(a, Scalar::all(1), Scalar::all(std::rand()));
cv::log(a, a);
a /= std::log(2.);
參考:
簡介 - 簡書 http://www.reibang.com/p/299433ec71fe
opencv 3.0 常用函數(shù) (1) - 簡書 http://www.reibang.com/p/d67f53413c14
學習資料
https://blog.csdn.net/manyouxianfeng/article/details/78049648