OpenCV數據類型
cv::Mat
原型:cv::Mat(int rows, int cols, int type)、cv::Mat(cv::Size sz, int type)、cv::Mat(int ndims,const int* sies,int type)
作用:任意維度的稠密數組
參數:指定數據類型的二維數組、指定數據類型的二維數組、指定數據類型的多維數組
操作:cv::Mat(const Mat&mat,const cv::Range&rows,const cv::Range&cols) 從指定的行列中複製數據的複製構造函數
cv::Mat::zeros(rows,clos,type) 構造一個指定類型的矩陣
M.at<int>(pt) 整形矩陣M中處於(pt.x ,pt.y)的元素
m.row(i) m中的i行數組
m.rowRange(i0,i1) m中第i0行到的i1-1行所構成的數組
m.diag(d) m中偏移爲d的對角線所組成的數組
m(cv::Rect(i0,i1,w,h)) m中從點(i0,j0)到點(i0+w-1,j0+h-1)所包含數據組成的數組
cv::saturate_cast<>()
作用:飽和轉換防溢出
cv::SparesMat
原型:cv::SparesMat sm(3,zs,CV_32F)
作用:稀疏矩陣(在非0元素非常少的情況下使用)
參數:創建一個由sz指定維度大小的三通道稀疏浮點矩陣
操作:cv::SparseMat::ptr()、cv::SparseMat::ref()、cv::SparseMat::value()、cv::SparseMat::find()
cv::Vec<>
原型:cv::Vec{2,3,4,6}{b,w,s,i,f,d}
作用:固定向量類
參數:cv::Vec2i、cv::Vec3i、cv::Vec4d (分別對應2個元素的整型向量、3和元素的整型向量和4個元素的雙精度浮點向量):
操作:v3f.cross(u3f)向量叉乘
cv::Matx<>
原型:cv::Matx{1,2,3,4,6}{1,2,3,4,6}{f,d}
作用:固定矩陣類
參數:與Vec<>類似;運算效率高、消耗動態內存分配操作
操作:Matx33f::all(x)、Matx23d::zeros()、Matx16f::ones()、Matx33f::eye()、m1.dot(m2) 點積
cv::Point
原型:cv::Point{2,3}{i,f}
作用:點類
參數:cv::Point2i、cv::Point3i
操作:p1.dot(p2) 點乘、p1.cross(p2) 叉乘、p.inside(r) 判斷一個點p是否在矩形r內
cv::Scalar
原型:cv::Scalar(x0,x1,x2,x3)
作用:四維點類(四維雙精度向量的快速表示)
參數:
操作:s1.mul(s2) 元素相乘、s.conj() (四元素)共軛、s.isReal() (四元素)真值測試
cv::Size
原型:cv::Size(w,h)
作用:獲取width和height,size類在實際操作是與Point類相似,而且可以與Point類相互轉換
參數:cv::Size、cv::Size2i、cv::Size2f
操作:sz.area() 計算面積
cv::Rect
原型:cv::Rect(x,y,w,h) 、cv::Rect(p,sz)、cv::Rect(p1,p2)
作用:矩形類Rect包含Point類的成員x和y(矩形左上角)和size類的成員with和heigh
參數:起始點和大小、起始點和大小、兩個對角
操作:r.area() 計算面積、r.tl() 提取左上角、r.br() 提取右下角、r.contains(p) 判斷點p是否在矩形r內
r3=r1&r2 矩形交集區域、r3=r1|r2 矩形共同區域、rx=r+x 平移x個數量、rs=r+s 擴大size大小、r1==r2 矩形是否相等
cv::RotatedRect
原型:cv::RotatedRect(p,sz,theta)
作用:包含一箇中心點cv::Point2f、一個大小cv::Size2f和一個額外的角度float的容器
參數:中心點、大小和角度
操作:
cv::Complex
原型:cv::Complexf(re0)、cv::Complexd(re0,im1)
作用:包含一箇中心點cv::Point2f、一個大小cv::Size2f和一個額外的角度float的容器
參數:單精度複數、雙精度複數
操作:z1.conj() 複共軛
cv::Range
原型:cv::Range(int start, int end)
作用:cv::Range用來確定一個連續的整數序列
參數:範圍包含初始值start,但不包含終止值
操作:rng.size() 獲取元素數量、rng.empty() 是否含有元素
工具函數
cv::alignPtr() 對齊指針到給定字節數
cv::alignSize() 將緩存區大小與給定的字節數對齊
cv::allocate() 分配一個C風格的數組對象
cvCeil() 近似一個都覅唸書x到不小於x的最近的整數(向上取整)
cv::cubeRoot 計算一個數的立方根
cv::CV_Assert() 如果給定的條件不爲真,則拋出異常
cv::deallocate() 釋放一個c風格的數組對象
cv::fastAtan2() 向量的二維角度的計算
cv::fastFree() 釋放一個內存緩存區
cv::fastMalloc() 分配一個對其的內存緩存區
cvFloor() 近似一個浮點數x到不大於x的最近的整數(向下取整數)
cv::format() 以sprintf類似格式創建一個STL字符串
cvIsInf() 判斷一個浮點數x是否無窮
cvIsNaN() 判斷一個浮點數x是否不是一個數
cvRound() 近似一個浮點數x到最近的整數
OpenCV矩陣操作
OpenCV繪圖和註釋
OpenCV函數子
OpenCV圖像、視頻與數據文件