Wie greife ich auf die Pixelwerte von CV_32F / CV_64F Mat zu?

Ich habe an Homographie gearbeitet und wann immer ich versuche, die Werte der H-Matrix (Typ CV_64F) mit zu überprüfenH.at<float>(i, j) Ich bekomme Zufallszahlen (manchmal Müllwert). Ich möchte auf die Pixelwerte der Float-Matrix zugreifen. Gibt es eine Möglichkeit, dies zu tun?

Mat A = Mat::eye(3, 3, CV_64F);
float B;
for(int i=0; i<A.rows; i++)
{
    for(int j=0; j<A.cols; j++)
    {
        printf("%f\n", A.at<float>(i, j));
    }
}

imshow("identity", A);
waitKey(0);

Dies zeigt das korrekte Bild einer Identitätsmatrix, aber beim Versuch, auf Pixelwerte zuzugreifen, erhalte ich

0,000000 1,875000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000

Warum ist das so?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage