Kompilierfehler in CV_MAT_ELEM

Durch einen Aufruf von estimateRigidTransform () erhalte ich ein cv :: Mat-Objekt mit dem Namen "trans". Um die enthaltene Matrix abzurufen, versuche ich, auf diese Weise auf die Elemente zuzugreifen:

for (i=0; i<2; i++) for (j=0; j<3; j++)
{
   mtx[j][i]=CV_MAT_ELEM(trans,double,i,j);
}

Leider erhalte ich bei VS2010 einen Compilerfehler

error C2228: left of '.ptr' must have class/struct/union

für die Zeile mit CV_MAT_ELEM. Wenn ich dieses Makro auspacke, finde ich so etwas wie

(mat).data.ptr + (size_t)(mat).step*(row) + (pix_size)*(col))

Wenn ich die ".ptr" hinter (mat) .data entferne, wird sie kompiliert. Aber ich kann mir nicht vorstellen, dass dies die Lösung ist (oder ich kann mir nicht vorstellen, dass dies ein Fehler ist, und ich bin der einzige, der es bemerkt hat). Also, was könnte hier wirklich falsch sein?

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage