基于Win7,VS2017,OpenCV3.4.0,遍历CvMat的值。
X = cvMat(3, 3, CV_64FC1,x);//x是赋值给X的变量。
遍历代码:
for (int i = 0; i < 3; i++)
cout << "X:" << cvmGet(&X, i, 0) << "," << cvmGet(&X, i, 1) << "," << cvmGet(&X, i, 2) << endl;
尝试了下面的方式没有正确打印X的值,不清楚原因:
for (unsigned int i = 0; i<3; i++)
{
for (unsigned int j = 0; j<3; j++)
{
cout << "X" << i << j << ":" << *((float *)(X.data.ptr + i * X.step) + j) << endl;
}
}
或者
for (int i = 0; i<X.height; i++)
{
float* pData = (float*)(X.data.ptr + i * X.step);
for (int j = 0; j<X.width; j++)
{
cout << "X" << i << j << ":" << *pData << endl;
pData++;
}
}