Ändern Sie den Typ des Mat-Objekts von CV_32F in CV_8U
Ich habe versucht, ein Bild vom Typ CV_32F mit der Funktion imshow anzuzeigen, aber es wurde ein angezeigtWeißes Bild. In demDokumentation Es wird vorausgesetzt, dass Gleitkommabilder auf 0-255 abgebildet und angezeigt werden, aber es wird nur ein weißes Bild angezeigt. Ich habe versucht, es mit CV_8U zu konvertieren
Mat A = Mat :: ones (300, 300, CV_32FC1) * 1000;
Verarbeiten Sie etwas, indem Sie den Pixeln in A Gleitkommazahlen zuweisen
......
Matte B;
A.convertTo (B, CV_8U)
Wenn ich 'B' zeige, bekomme ich ein Schwarz-Weiß-Bildkeine Grautöne. Sind die float-bewerteten Pixel in A richtig auf 0-255 abgebildet? Mache ich etwas falsch?
Wenige Werte in A sind 1000 als initialisiert und Rest sind einige Gleitkommazahlen, die während der Verarbeitung zugewiesen werden.