OpenCV4 學(xué)習(xí)筆記 - 2. 了解 cv::Mat

cv::Mat 在 OpenCV 中是一個(gè)重要的類,用于表示多維的單通道或多通道數(shù)組。它能用于存儲(chǔ)復(fù)數(shù)或?qū)崝?shù)的向量或矩陣,灰度或彩色圖像,向量場(chǎng),點(diǎn)云,張量,直方圖等等。

有許多方法創(chuàng)建 cv::Mat 對(duì)象:

  1. Mat(nrows, ncols, type[, fillValue])
  2. Copy constructor or assignment operator
  3. Construct a header for a part of another array
// 創(chuàng)建一個(gè) 7x7 的復(fù)數(shù)矩陣,并以 1+3j 填充
Mat M(7, 7, CV_32FC2, Scalar(1, 3));

// 創(chuàng)建一個(gè) 100x100 的單通道8bit 矩陣,并以 255 填充
Mat M(100, 100, CV_8UC1, Scalar(255));

// 創(chuàng)建一個(gè) 100x100 的3通道8bit 矩陣
Mat M(100, 100, CV_8UC3);

Mat M1;
M.copyTo(M1);

Mat A = Mat::eye(10, 10, CV_32S);

Mat img(Size(320, 240), CV_8UC3);
Mat roi(img, Rect(10, 10, 100, 100));
Mat B = img(Range::all(), Range(1, 3));

Public Attributes:

  • cols:列數(shù)
  • rows:行數(shù)
  • dims:維度
  • data:指向數(shù)據(jù)的 uchar 指針

Public Member Functions:

  • empty:判斷數(shù)據(jù)是否為空
  • at:模板函數(shù),返回對(duì)指定矩陣元素的引用
  • begin、end:用于迭代
  • channels:矩陣的通道數(shù)
  • clone:返回矩陣的完整的副本
  • copyTo:將矩陣拷貝至另一矩陣
  • convertTo:轉(zhuǎn)換元素類型
  • dot:矩陣乘法
  • mul:元素相乘

Static Public Member Functions:

  • diag:創(chuàng)建對(duì)角矩陣
  • eye:創(chuàng)建單位矩陣
  • ones:創(chuàng)建全1矩陣
  • zeros:創(chuàng)建全0矩陣
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容