Abrufen von Namen (z. B. CV_32FC1) von OpenCV-Bildtypen?
In die C++ - Schnittstelle zu OpenCV, es scheint einfach genug, um zu überprüfen, die Art von einem Bild. Wenn Sie ein Bild cv::Mat img = cv::imread("someImage.xyz")
ist, Sie haben einfach int theType = img.type()
.
Jedoch, wie man erwarten würde, ruft img.type()
gibt nur eine ganze Zahl, eine nicht eine enum-Namen (z.B. CV_32FC1
).
Gibt es eine einfache Möglichkeit zum drucken der enum-Namen (z.B. CV_32FC1
), wenn ich weiß, die dem ganzzahligen Wert von OpenCV enum?
InformationsquelleAutor der Frage solvingPuzzles | 2012-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meines Wissens eine solche Funktion existiert nicht in OpenCV.
Ich glaube, Sie wäre besser, zu schreiben, Ihre eigene Funktion, um diese zu erhalten. Eine Menge von switch-Case-Anweisungen, aber ich denke, es macht den job. Die enumeration gefunden werden hier.
EDIT:
Dies ist etwas, die Sie verwenden können, extrahieren Sie die Typen. Ich vermute, es könnte eine effizientere Methode, aber ich kann nicht umbrochen, mein Kopf herum jetzt.
InformationsquelleAutor der Antwort Sassa
Folgende @Bob Ratschläge, schrieb ich meine eigene Funktion, um dieses problem zu lösen. Hier ist es:
Habe ich vergessen, gehören alle OpenCV-Bild-Typen in meinem lookup-Tabelle?
InformationsquelleAutor der Antwort solvingPuzzles