Hallo ich schreibe gerade für eine Kamera eine Konvertierung von YCbCr nach RGB24. Es gibt jetzt noch ein paar Probleme, weswegen ich gerne ein paar Testdaten hätte, mit denen ich meine Software testen kann. Kennt jemand z.B. ein Bildformat, in dem die Pixel als YCbCr gespeichert sind, und man einfachen Zugriff drauf hat, also keine (De-)kompressionsverfahren etc. nötig sind. Oder kennt jemand Alternativen, evtl. mit Hilfe von Scilab ? Vielen Dank für alle Tipps
Hallo, .bmp speichert Bilder ohne Kompression. Die Pixel koennen durch einfache Matrixmultiplikation in YCbCr-Werte umgeaendert werden. Geht mit ein paar Zeilen in Matlab/Ocatave. Gruss
:
Bearbeitet durch User
Hallo, ich versuche es mit Scilab. Ist für mich nur ein Freizeit-Projekt, deshalb die späte Meldung. Mit der Matrix M = [1 0 1.402; 1 -0.344 -0.714; 1 1.772 0]; sollte dann die Umrechnung von YCbCr auf RGB funktionieren, lt div Quellen. Vielleicht nochwas: Kann ich mich darauf verlassen, dass Y in [16 219] und Cb,Cr in [0 224] liegen, oder ist das Kamerahersteller-abhängig. Gruß xy
xy schrieb: > Hallo, > > ich versuche es mit Scilab. Ist für mich nur ein Freizeit-Projekt, > deshalb die späte Meldung. > Mit der Matrix > M = [1 0 1.402; > 1 -0.344 -0.714; > 1 1.772 0]; > > sollte dann die Umrechnung von YCbCr auf RGB funktionieren, lt div > Quellen. Was sind denn das fuer Quellen? Ich habe in Wikipedia folgende Matrix gefunden: [0.299 0.587 0.114; -0.168736 -0.331264 0.5; 0.5 -0.418688 -0.081312]; Dazu muss man bei Cb und Cr noch 128 draufaddieren > Vielleicht nochwas: Kann ich mich darauf verlassen, dass Y in [16 219] > und > Cb,Cr in [0 224] liegen, oder ist das Kamerahersteller-abhängig. Ist wohl eher Kamerahersteller-abhaengig. Moeglich sind jeweils 8-bit Werte soweit ich bis jetzt gesehen habe. Gruss Christoph
>8 Bits Es gibt auch Kameras mit mehr Bits. >128 addieren Sind die Daten wirklich offset-beaufschlagt? Dann dürfte das mit den 224 nicht stimmen, oder? > Kann ich mich darauf verlassen, dass Y in [16 219] Woher kommt das? Ich meine die Werte gehen bis 232 oder 233. Gfs war das aber ein anderes Format.
Carsten schrieb: >>128 addieren > Sind die Daten wirklich offset-beaufschlagt? > Dann dürfte das mit den 224 nicht stimmen, oder? Ich beziehe mich auf Wikipedia: http://de.wikipedia.org/wiki/Jpeg#Farbraumumrechnung >> Kann ich mich darauf verlassen, dass Y in [16 219] > Woher kommt das? Ich meine die Werte gehen bis 232 oder 233. > Gfs war das aber ein anderes Format. Y ist die Helligkeit, wieso sollte man wenn sowieso 8 bit benoetigt werden die nicht ausnutzen und die Helligkeit in 256 Stufen angeben? Gruss
Werte unter dec16 werden im Broadcastbereich als "Subblack" bezeichnet und für diverse Effekverfahre, wie z.B, das Keying benötigt. Bei den üblichen 10bit in diesem Bereich fällt das auch nicht weiter ins Gewicht. Von dort hat es sich dann auch in Consumergeräte und -schnittstellen geschlichen. Deshalb sind HDMI und DVI z.B. zwar elektrisch weitestgehend kompatibel der Signalsenke muss aber mitgeteilt werden, ob pures schwarz durch dec0 oder dec16 repräsentiert wird. (nennt sich häufig movie- oder cinema mode...)
:
Bearbeitet durch User
>Was sind denn das fuer Quellen? Ich habe in Wikipedia folgende Matrix >gefunden: >[0.299 0.587 0.114; -0.168736 -0.331264 0.5; 0.5 -0.418688 -0.081312]; >Dazu muss man bei Cb und Cr noch 128 draufaddieren Sorry, hatte da einen Gedankensprung drin, den ich nicht erwähnt habe. Meine Matrix berechnet RGB, deine berechnet YCbCr. Habe ich aus http://de.wikipedia.org/wiki/JPEG Zu den nicht ausgenutzten Y,Cb,Cr Wertebereichen: Steht so in http://www.itwissen.info/definition/lexikon/luminance-chrominance-blue-chrominace-red-YCbCr-YCbCr-Farbmodell.html und da in der Berechnung der Linux-API unter http://linuxtv.org/downloads/v4l-dvb-apis/colorspaces.html auch solche Berechnungen drin sind, habe ich das mal als gegeben angenommen. Naja, ich muss nochmal dran rumbasteln bevor ich mehr sagen kann. Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.