0
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));'*** [here] (http://note.sonots.com/OpenCV/MatrixOperations.html)에서 해봤습니까 *** – ryyker