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...