C++ OpenCV Mat類簡介

前言:

數字圖像在計算機內存中以矩陣形式存儲,而Mat類是操作矩陣的類。

一、圖像像素值的訪問

cv::Mat image = cv::Mat(400,600,cv_8UC1); //weight=400,height=600,8unit單通道
uchar * data00 = image.ptr<uchar>(0);    //data00是指向第1行第1個元素的指針
uchar * data10 = image.ptr<uchar>(1);    //data10是指向第2行第1個元素的指針
uchar * data01 = image.ptr<uchar>(0)[1]; //data01是指向第1行第2個元素的指針

二、Mat類構造函數

#include<opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main() {
	Mat image1;  //創建一個空矩陣
	Mat image2(6, 6, CV_8UC1); //創建一個6*6的單通道矩陣,默認填充值爲205
	Mat image3(Size(7, 7), CV_8UC3); //創建一個7*7的單通道矩陣,默認填充值爲205
	Mat image4(8, 8, CV_32FC2, Scalar(1, 3));//創建一個8*8的雙通道矩陣,填充值分別爲1、3
	Mat image5(Size(9, 9), CV_8UC3, Scalar(1, 2, 3)); //創建一個9*9的三通道矩陣,填充值分別爲1、2、3
	Mat image6(image2);

	cout << image1 << endl;
	cout << image2 << endl;
	cout << image3 << endl;
	cout << image4 << endl;
	cout << image5 << endl;
	cout << image6 << endl;
	cin.get();

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章