Mat img = (Mat_<uchar>(3, 4) <<
1, 2, 3, 10,
4, 5, 6, 11,
7, 8, 9, 12);
int step = img.step;
1./
for (int i = 0; i <1; i++)
{
uchar *pdata = img.data;
for (int j = 0; j < img.rows; j++)
cout <<(int) pdata[j*step + i] << endl;
}
2.
for (int i = 0; i <1; i++)
{
uchar *pdata = img.data;
for (int j = 0; j < img.rows; j++)
{
cout << (int)pdata[i] << endl;
pdata += step;
}
}
3.
typedef struct
{
int width;
int height;
uchar* data;
}Image;
Image iImage;
iImage.width = roiImg.cols;
iImage.data = roiImg.data;
iImage.height = roiImg.rows;
for (int i = 0; i < iImage.width; i++) //列-x roiImg.cols
{
for (int j = 0; j < iImage.height; j++)//行-y roiImg.rows
{
uchar *p = iImage.data + j * iImage.width + i; //首地址 + j个宽的步长 + 第几列
cout << static_cast<unsigned int>(*p) << endl;
}
}