OpenCV學習問題記錄(一)

2021-10-06 04:03:56 字數 2665 閱讀 3134

int nrows =

480, ncols =

640;

cv::mat m1_8u;

m1_8u.

create

(nrows, ncols, cv_8uc1)

;// 此刻表示建立乙個480x640大小的畫素塊,每個畫素都是單通道每個通道的位數都是8位,乙個位元組的。上述cv_8uc1中的8表示8位、uc表示uchar型別、1表示乙個通道。

m1_8u.

setto

(cv::

scalar

(100))

;1.create函式

函式形式:

inline

void mat::

create

(int _rows,

int _cols,

int _type)

inline

void mat::

create

(size _sz,

int _type)

void mat::

create

(int ndims,

const

int* sizes,

int type)

函式功能:

1)如果需要,分配新的陣列資料

2)建立乙個影象矩陣的矩陣體

函式引數:

1)ndims:新的陣列維數

2)rows :新陣列的行數

3)cols :列數

4)size :新矩陣的尺寸

2,setto函式

作用:將陣列中所有或者部分值指定為設定值

3,cv::scalar函式

作用:設定個通道內元素的值

樣式:例如mat m(7

,7,cv_32fc2,

scalar(1

,3))

;表示設定第一通道全為1,第二通道全為3.

mat m(7

,7,cv_32fc3,

scalar(1

,3))

第一通道全為1,第二通道全為3,第三通道全為0.結果如圖所示

注:陣列存放按列區分通道

m1_8u.at(0

, r)

=255

;1、at

()函式

形式:對於單通道影象"picture1",picture1.at

(i,j)

就表示在第i行第j列的畫素值。

對於多通道影象如rgb影象"picture2",用picture2.at

(i,j)

[c]來表示某個通道c中在(i,j)位置的畫素值。

含義:1)上面的uchar、vec3b表示影象元素的型別。

2)(i,j)當然就是指畫素點的位置,表示第i行第j列。

3)[c]表示的是通道,對於rgb影象而言,c取0就是b分量;c取1就是g分量;c取2就是r分量(要注意在opencv中是按bgr的順序表示的)。

**

#include

#include

#include

#include

#include

#include

using

namespace std;

void

loadimage2()

}int

main()

1、ostringstream 函式

作用:清空字元內容

2、setw

(b)設定填充寬度

setfill(『#』) 以#填充空位,與其之後的內容佔位之和為b。例如

cout <<

"s"<<

setfill

('*'

)<<

setw(8

)<<

"aq"

<< endl;

輸出為s***

***aq兩函式前後位置無影響。

批量讀取並顯示

#include

#include

#include

#include

#include

#include

using

namespace std;

void

loadimage3()

// display images from the vector

string windowname =

"first steps in opencv"

; cv::

namedwindow

(windowname,1)

;// create window

for(

auto it = imglist.

begin()

; it != imglist.

end();

++it)

}int

main()

OpenCV學習問題記錄(五)

在特徵點檢測之後,需要描述特徵點位置 特徵等資訊,以便於後續匹配等工作的進行。以下提供brisk和sift兩種演算法的特徵點描述演算法,opencv將演算法都封裝了,呼叫起來比較簡單 注 sift演算法可能因為版權問題不能使用 include include include include incl...

opencv編譯相關問題記錄

在編譯opencv時,一般都是編譯成為動態庫,但是有時為了方便移植或者在其他地方安裝,會需要將其編譯成靜態庫的形式。這個時候只需要將cmake的 build shared libs 引數設為 off即可 可以採用如下命令來進行編譯 cmake d cmake build type release d...

C 學習問題記錄(一)

遇到的問題 異常 0xc0000005 讀取位置 0xffffffffffffffff 時發生訪問衝突。參考資料 列印影象 printimageaction new qaction qicon printimage.png tr 列印影象 this printimageaction setstatu...