在Mat类中,访问数据的方法有多中,下面着重讲一下ptr成员函数。
ptr可以获得指向每一行首地址的指针,访问矩阵中的数据如下:
#include "pch.h"
#include <iostream>
#include <opencv2/core/core.hpp>
using namespace cv;
using namespace std;
int main(int argc,char* argv[])
{
//构造一个单通道矩阵
Mat m = (Mat_<int>(2, 3) << 11, 22, 33, 44, 55, 66);
//打印m中的每一个值
for (int r = 0; r < m.rows; r++)
{
//获取每一行首地址的指针
const int *ptr = m.ptr<int>(r);
for (int c = 0; c < m.cols; c++)
{
cout << ptr[c] << ",";
}
cout << endl;
}
}
依靠每一行的首地址对每一个数据进行遍历。