1. 程式人生 > >Mat矩陣 成員函式 和成員變數 總結

Mat矩陣 成員函式 和成員變數 總結

1. clone() 建立一個影象的深拷貝

Mat image;
 image = cv::imread("boldt.jpg");
 Mat cloneimage = image.clone();

2. create()函式
result.create(image.rows,image.cols,image.type());
create函式建立的影象的記憶體是連續的,不會對影象的行進行填補,分配的記憶體大小為total()*elemSize()

3. total()函式
返回Mat矩陣的畫素個數

4. elemSize()函式
返回Mat矩陣每個畫素的位元組數

5. isContinuous()
判斷Mat所表示的那副影象是否連續,即是否進行了行填補;如果返回為真的話,沒有進行行填補,反之就進行了行填補

6. data成員變數
data是一個unsigned char的指標,代表Mat記憶體的首地址

uchar *data = image.data;

7.step成員變數
step代表Mat矩陣的行款,包括填補畫素

8.setTo函式
設定矩陣的值

 image.row(0).setTo(cv::Scalar(0))或 image.row(0).setTo(cv::Scalar(0,0,0));

9.depth
矩陣中元素的一個通道的資料型別,這個值和type是相關的。例如 type為 CV_16SC2,一個2通道的16位的有符號整數。那麼,depth則是CV_16S。depth也是一系列的預定義值,
將type的預定義值去掉通道資訊就是depth值:
CV_8U CV_8S CV_16U CV_16S CV_32S CV_32F CV_64F