【opencv】4.初始化Mat的方式、访问cv::Mat中的某个元素
生活随笔
收集整理的這篇文章主要介紹了
【opencv】4.初始化Mat的方式、访问cv::Mat中的某个元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
可以參考:https://www.cnblogs.com/guoben/p/12728390.html
方法1:
cv::Mat img_1 = cv::Mat::zeros(cv::Size(cols, rows), CV_8UC1);注意cv::Size(cols, rows)是先列再行。
方法2:
cv::Mat img_2 = cv::Mat::zeros(int rows, int cols, int type);注意這里是先行再列。
type可以為CV_8UC1,如果涉及到Mat矩陣乘法cv::solve求解A*X=B,可以為CV_64FC1
訪問cv::Mat中的某個元素:
(1)單通道圖像訪問
// cv::Mat::at<type>(行號,列號) // 請注意,單通道的必須這么寫unsigned char,不能寫成int,否則會有越界問題導致像素值變得紊亂 img.at<unsigned char>(y, x) = 255;(2)RGB圖像訪問元素
// RGB通道的則必須這么使用,其中<Vec3b>是RGB通道的一個點(3通道)的類型uchar // 第i行(y值),第j列(x值) img.at<Vec3b>(i, j)[0] = 100; //B img.at<Vec3b>(i, j)[1] = 120; //G img.at<Vec3b>(i, j)[2] = 140; //R總結
以上是生活随笔為你收集整理的【opencv】4.初始化Mat的方式、访问cv::Mat中的某个元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】33. shell脚本 递
- 下一篇: 【数学和算法】初识卡尔曼滤波器(一)