OpenCV入門學習1

2021-07-14 04:02:11 字數 1798 閱讀 7858

一幅尺寸為m*n的影象可以用乙個m*n矩陣來表示,矩陣元素的值表示

這個位置上的畫素的亮度,一般來說畫素越大表示該點越亮。

一般來說,灰度圖用2維矩陣表示,彩色(多通道)影象用3維矩陣(

m*n*3)表示。對於影象顯示來說,目前大部分裝置都是用無符號8位整數

(型別為cv_8u)表示畫素亮度。

影象資料在計算機記憶體中的儲存順序為以影象左上點開始。

如果是多通道影象,比如rgb影象,則每個畫素用三個位元組表示。在

opencv中,rgb影象的通道順序為bgr。

3.2  mat類

早期的opencv中,使用lpllmage和cvmat資料結構來表示影象。lpllmage

和cvmat都是c語言的結構。需要自己管理記憶體。

新版本的opencv中引入了mat類。mat類能夠自動管理記憶體。

mat m(3,2, cv_8uc3, scalar(0,0,255));

count << "m = " << end1 << " " << m << end1;

第一行**建立乙個行數(高度)為3,列數為2的影象,影象元素是8為

無符號整數型別,且有三個通道。影象的所有畫素值被初始化為

(0,0,255)。由於opencv中預設的顏色順序為bgr,因此這是乙個全紅色的

影象。第二行**是輸出mat類的例項m的所有畫素值。mat重定義了《操作符,

使用這個操作符,可以方便地輸出所有畫素值,而不需要使用for迴圈逐

個畫素輸出。

m =[0,0,255,0,0,255;

0,0,255,0,0,255;

0,0,255,0,0,255;]

3.3.2 create()函式建立物件

除了在建構函式中可以建立影象,也可以使用mat類的create()函式建立

影象。如果create()函式指定的引數與影象之前的引數相同,則不進行實

質的記憶體申請操作;如果引數不同,則減少原始資料記憶體的索引,並重新

申請記憶體。使用方法如下面所示:

mat m(2,2, cv_8uc3): //建構函式建立影象

m.create(3,2, cv_8uc2)//釋放記憶體重新建立影象

需要注意的是,使用create()函式無法設定影象畫素的初始值。

3.3.3 matlab風格的建立物件方法

zeros(), ones()和eyes()。使用這些函式需要指定影象的大小和型別

mat z = mat::zeros(2,3, cv_8uc1);

cout << "z = " << end1 << " " << z << end1;

opencv中使用vec類預定義了一些小向量,可以將之用於矩陣元素的表達

。typedef vecvec2b;

typedef vecvec3b;

typedef vecvec4b;

例如8u型別的rgb彩色影象可以使用vec3b,3通道float型別的矩陣可以使

用vec3f。

對於vec物件,可以使用符號如運算元般讀寫其元素,如:

vec3b color; //用color 變數描述一種rgb顏色

color[0] = 255; //b分量

color[1] = 0; //g分量

color[2] = 0; //r分量

3.5.1 at()函式

函式at()來實現讀矩陣中的某個畫素,或者對某個畫素進行賦值操作。

uchar value = grayim.at(i,j);//讀出i行第j列畫素值

grayim.at(i,j)=128; //將第i行第j列畫素值設定為128

Python基礎 opencv入門1

opencv是乙個開源計算機視覺庫,安裝非常簡單,win r啟動cmd後直接使用pip安裝,我用的是python3.6 pip install opencv python最近在忙於某個比賽專案中,需要用到影象識別,首先想到的就是使用python。python的特點我就不說了,主要是考慮到其的簡潔和龐...

第1章 OpenCV 入門

opencv 輕鬆入門 面向python 學習筆記 import cv2 img cv2.imread your path image.png cv2.imread unchanged cv2.namedwindow window name cv2.imshow window name img cv...

opencv入門 一 OpenCV入門

retval cv2.imread 檔名,顯示控制引數 使用示例 import cv2 img cv2.imread c users 92039 desktop xiangmu test.png 兩個反斜槓,第乙個反斜槓用於轉義字元 none cv2.imshow 視窗名,影象名 示例 cv2.de...