Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 14.12.2008, 16:51 Titel: YUV -> RGB, RGB -> YUV |
|
|
Hallo!
Wie kann ich das RGB-Farbmodel in das YUV-Farbmodel umwandlen und andersrum? |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 14.12.2008, 17:48 Titel: |
|
|
Hab ich ja, war mir nur nich ganz sicher.
Bei manchen Seiten standen andere Formeln.
Ist es normal, dass bei YUV auch ein Kanal negativ ist?
Edit:
Ich hab es soweit hinbekommen aber wenn ich RGB(200, 200, 255) in das YUV-Format umwandle, und es dann zurück in RGB umwandle, kommt da RGB(200, 73, 0) raus. Woran kann das liegen? |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 14.12.2008, 18:56 Titel: |
|
|
Wenn du zurückrechnest, die selbe formel nehmen, nur rückwärts anwenden... erinner dich an Mathe, thema Gleichungen. _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 14.12.2008, 18:59 Titel: |
|
|
Ich bin in der 7. und habe gerade das Thema "Gleichungen". Nur wie man sowas umkehrt, weiß ich nicht
Bisher habe ich diese Formeln:
RGB > YUV
Y = 0.299 * R + 0.587 * G + 0.114 * B
U = 0.492 * (B - Y)
V = 0.492 * (B - Y)
YUV > RGB
R = Y + 1.140 * V
G = Y - 0.395 * U - 0.581 * V
B = Y + 2.032 * U |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 14.12.2008, 20:11 Titel: |
|
|
Bist du sicher, dass das hier stimmt?
Nitroxis hat Folgendes geschrieben: | U = 0.492 * (B - Y)
V = 0.492 * (B - Y)
|
Dann ist nämlich U immer gleich V. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 14.12.2008, 20:13 Titel: |
|
|
Ooops!
Das sollte heißen
Y = 0.299 * R + 0.587 * G + 0.114 * B
U = 0.492 * (B - Y)
V = 0.877 * (R - Y)
Habs auch so im Programm stehen, hab mich nur verschrieben! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 14.12.2008, 21:30 Titel: |
|
|
Habe die Formel mit deinem Wert RGB(200, 200, 255) ausprobiert und erhalte nach Rückwandlung wieder das richtige Anfangsergebnis. (ok, kleiner Rundungsfehler) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 15.12.2008, 13:01 Titel: |
|
|
Ups.....
Ich habe jetzt den Fehler in meinem Programm entdeckt....
Ich habe Y, U und V als UByte übergeben. Deshalb kamen am Ende natürlich ganz andere Zahlen raus. |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 15.12.2008, 13:27 Titel: |
|
|
Noch eine Frage zum Thema Farben umwandeln:
Kann man auch HSV bzw. HSL in RGB umwandeln (oder umgekehrt)?
Hab diesmal gegoogelt, hab aber nichts gefunden (Nur C, C++ und so, aber das verstehe ich nich so ganz)
Edit:
Hab doch noch was gefunden!
Ist zwar VB, aber das lässt sich ja leicht umwandeln...
Zuletzt bearbeitet von Nitroxis am 15.12.2008, 13:33, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
*Andy*
Anmeldungsdatum: 15.12.2007 Beiträge: 9
|
|
Nach oben |
|
 |
|