OpenCV 手冊(用於速記)——持續更新完善

 

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圖像、視頻與數據文件

 

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章