OpenCV基礎教程學習筆記(1)

2021-08-14 15:52:25 字數 1538 閱讀 2446

一、opencv命名規則

1、矩陣資料型別

通用矩陣資料型別為

cv_(s|u|f)c

其中,s表示帶符號整數;u表示無符號整數;f表示浮點數。

例如:cv_8uc1 表示8位無符號單通道矩陣。

2、影象資料型別

通用影象資料型別為

ipl_depth_(s|u|f)

其中,s,u,f的意義同矩陣資料型別。

例如:ipl_depth_8u 表示8位無符號整數影象。

二、基本資料結構

1、影象結構:opencv中的所有影象都採用同乙個結構iplimage。

2、矩陣與向量結構:opencv採用了一種獨特的結構cvarr*。該結構是乙個通用陣列的表現形式,用做函式的引數,在呼叫該引數時接受多種型別的資料,比如iplimage*,cvmat*甚至cvseq*。

3、其它資料結構:

(1)點的表示

cvpoint p = cvpoint(int x,int y);

cvpoint2d32f p = cvpoint2d32f(float x,float y);

cvpoint3d32f p = cvpoint3d32f(float x,float y,float z);

(2)長方形維數的表示

cvsize r = cvsize(int width,int height);

cvsize2d32f r = cvsize2d32f(float width,float height);

(3)有偏移量的長方形表示

cvrect r = cvrect(int x,int y,int width,int height);

三、矩陣的使用與操作

1、分配與釋放矩陣

(1)分配矩陣

cvmat* cvcreatemat(int rows,int cols,int type);

其中,type表示矩陣元素的型別 cv_(s|u|f)c

例如:cvmat* m = cvcreatemat(4,4,cv_32fc1);

(2)釋放矩陣

void cvreleasemat(cvmat**);

例如:cvmat* m = cvcreatemat(4,4,cv_32fc1);

cvreleasemat(&m);

(3)複製矩陣

cvmat* cvclonemat(cvmat*);

例如:cvmat*m1 = cvcreatemat(4,4,cv_32fc1);

cvmat* m2;

m2 = cvclonemat(m1);

(4)初始化矩陣

double a = ;

cvmat ma = cvmat(3,4,cv_64fc1,a);

或者:cvmat ma;

cvinitmatheader(&ma,3,4,cv_64fc1,a);

2、訪問矩陣元素

若要訪問乙個浮點數矩陣的第i行第j列元素。

(1)直接訪問

cvmset(m,i,j,2.0);

t = cvmget(m,i,j);

pyhton基礎教程(學習筆記)

函式作用 例子相等運算子 兩個字串或數字是否相等 is 同一性運算子 x y 1,2 z 1,2 x,y,z相等但只有x,y同一 in 成員資格運算子 判斷乙個子串是否被包含在母串中 字串和序列比較 alpha beta 布林運算 有短路運算特徵 x and y,x or y assert 斷言 設...

Python基礎教程學習筆記

第一章 快速改造 基礎知識 函式描述 abs number 返回數字的絕對值 cmath.sqtr number 返回平方根,也可以應用於負數 float object 將字串和數字裝換為浮點數 help 提供互動式幫助 input prompt 獲取使用者輸入 int object 將字串和數字轉...

Tensorflow 基礎教程(1)

在使用tensorflow之前先了解下tensorflow的幾個基礎知識 1 使用圖 graph 來表示計算 2 在回話 session 中執行圖 3 使用張量 tensor 來代表資料 4 通過變數 variables 維護狀態 5 通過供給 feeds 和取回 fetches 將資料傳入或傳出任...