Image Datenformart
Verfasst: Mittwoch 30. Juli 2014, 15:42
Ich bekomme Bilddaten von einem Stream.
Diese Daten können, immer unterschiedliche Formate und Codecs, haben.
Das Problem mit verschiedenen Codecs (H264, theora ...) umzugehen habe ich bereits gelöst!
Jetzt habe ich nur noch das Problem das,das Format entweder bgr8 oder rgb8 ist, qt bietet aber nur eine direkte Umwandlung in RGB.
Siehe http://doc.qt.digia.com/qt-maemo/qimage.html -> Member Type Documentation
Umwandlung und Umgang mit den formaten habe ich so gemacht.
Liste mit den Formaten:
img_format_table = {'bgr8': QImage.Format_RGB888, 'mono8': QImage.Format_Indexed8, 'rgb8': QImage.Format_RGB888}
Umwandlung der Bilddaten in ein "Bild" :
picture = QImage(self.__imageData.data,self.__imageData.width,self.__imageData.height,format)
Um jetzt aus den bgr Daten wieder rgb Daten zu gibt es die Funktion QImage.rgbSwapped().
Ich weiß nun nicht welches Format empfangen wird und da bei der Umwandlung der Daten automatisch das richtige Format ausgewählt wird, weiß ich nicht um welches Format(bgr oder rgb) es sich handelt und somit nicht wann ein QImage.rgbSwapped() durchgeführt werden müsste, um ein korrektes Bild zu erhalten.
Gibt es eine Möglichkeit heraus zu finden welches Format beim verwendet umwandeln verwendet wir, oder welches Format meine Daten besitzen ?
Diese Daten können, immer unterschiedliche Formate und Codecs, haben.
Das Problem mit verschiedenen Codecs (H264, theora ...) umzugehen habe ich bereits gelöst!
Jetzt habe ich nur noch das Problem das,das Format entweder bgr8 oder rgb8 ist, qt bietet aber nur eine direkte Umwandlung in RGB.
Siehe http://doc.qt.digia.com/qt-maemo/qimage.html -> Member Type Documentation
Umwandlung und Umgang mit den formaten habe ich so gemacht.
Liste mit den Formaten:
img_format_table = {'bgr8': QImage.Format_RGB888, 'mono8': QImage.Format_Indexed8, 'rgb8': QImage.Format_RGB888}
Umwandlung der Bilddaten in ein "Bild" :
picture = QImage(self.__imageData.data,self.__imageData.width,self.__imageData.height,format)
Um jetzt aus den bgr Daten wieder rgb Daten zu gibt es die Funktion QImage.rgbSwapped().
Ich weiß nun nicht welches Format empfangen wird und da bei der Umwandlung der Daten automatisch das richtige Format ausgewählt wird, weiß ich nicht um welches Format(bgr oder rgb) es sich handelt und somit nicht wann ein QImage.rgbSwapped() durchgeführt werden müsste, um ein korrektes Bild zu erhalten.
Gibt es eine Möglichkeit heraus zu finden welches Format beim verwendet umwandeln verwendet wir, oder welches Format meine Daten besitzen ?