OpenCV學習筆記三 Mat資料結構

2021-09-29 18:38:49 字數 1150 閱讀 5510

主要記錄mat資料結構的一些操作

p3 mat 資料結構的一些操作

#include#includeusing namespace std;

using namespace cv;

int main(int argc, char** ar**)

namedwindow("input", cv_window_autosize);

imshow("input image", src);

//建立乙個新的mat 物件

mat dst;

dst = mat(src.size(), src.type());

dst = scalar(127, 0, 256);

namedwindow("output", cv_window_autosize);

imshow("output", dst);

//建立乙個小的mat物件,並列印矩陣內的資訊

mat m(3, 3, cv_8uc3, scalar(0, 0, 255));//cv_8u3c 乙個三通道影象

cout << "m =" << endl << m << endl;

//深拷貝乙個mat 物件

mat clone_src = src.clone();// src.copyto(clone_src) 也是深拷貝

namedwindow("output clone ", cv_window_autosize);

imshow("output clone", clone_src);

//轉換影象通道數,並列印結果

mat src_gray;

cvtcolor(src, src_gray, cv_bgr2gray);

namedwindow("output gray image", cv_window_autosize);

imshow("output gray image", src_gray);

printf("input image channels :%d \n", src.channels());

printf("output image channels :%d \n ", src_gray.channels());

waitkey(0);

return 0;

}

OpenCV 學習筆記(一)Mat

opencv是由c語言實現的,實際上它使用的結構體也是遵循物件導向思想設計的,iplimage由cvmat派生 資訊 和乙個指向儲存所有畫素值的矩陣 根據所選儲存方法的不同矩陣可以是不同的維數 的指標。mat矩陣頭 包括 typedef struct cvmat data ifdef cpluspl...

OpenCV中Mat 型別學習筆記

printf img.size 函式返回值 n cout 報錯 原因,mat.step1 0 需要用圓括弧 mat的step,size,step1,elemsize,elemsize1這幾個屬性非常容易混淆。opencv的官方參考手冊也沒有解釋清楚這幾個概念。step1 i 每一維元素的通道數 st...

OpenCV學習筆記七 關於Mat類

1 建立乙個mat物件僅僅是建立了資訊頭部分,並沒有複製影象矩陣,而是通過矩陣指標指向某一位址而實現。eg mat a,c 僅建立資訊頭部分 mat b a 使用拷貝建構函式 c a 賦值運算子 以上建立的所有mat物件最終都指向同乙個也是唯一的乙個資料矩陣。雖然資訊頭不同,但是通過任何乙個物件所做...