Я пытаюсь получить доступ к данным в моем cvMat
.Как получить доступ к данным в cvMat
Вот мой код:
// Declare
int rank = 3;
CvMat* warp_matrix = cvCreateMat(rank,rank,CV_32FC1);
// Using
cvGetPerspectiveTransform(imgSrc,imgDst,warp_matrix);
for(int i=0; i<rank; i++)
{
for(int j=0; j<rank; j++)
{
std::cout << warp_matrix->data[i][j] << std::endl;
}
}
Но я ловлю ошибку:
error: no match for 'operator[]' (operand types are 'CvMat::<anonymous union>' and 'int')
И я не знаю, как это исправить - я стараюсь CV_MAT_ELEM()
так:
std::cout << CV_MAT_ELEM(warp_matrix,double,i,j) << std::endl;
И все еще не работает (уловить эту ошибку):
error: request for member 'cols' in 'warp_matrix', which is of pointer type 'CvMat*' (maybe you meant to use '->' ?)
Я не знаю, что теперь делать. Вы можете мне помочь ?
Название вашего вопроса явно, что это *** C, не C++ ***. Но пример кода, который вы предоставляете, явно C++. (например, 'std :: cout'). – ryyker
Вы пробовали 'printf («% f », cvmGet (warp_matrix, i, j)),' From *** [здесь] (http://note.sonots.com/OpenCV/MatrixOperations.html) *** – ryyker