Forum: FPGA, VHDL & Co. YUV Farbwerte in Hex


von Ronny (Gast)


Lesenswert?

Hallo

Wie kann ich YUV Farbwerte in Hex umrechnen?

Müsste dann so aussiehen. ==>>  x"00A18DA12B" --Grün

Thx

von Volker Z. (vza)


Lesenswert?


von Ronny (Gast)


Lesenswert?

..und wie hilft mir das zu den Hex werten zu kommen :)

von Volker Z. (vza)


Lesenswert?

Das kann ich Dir nicht sagen, da ich weder die Bitbreite von deinen Y, U 
und V kenne, noch die Reinfolge dieser Werte, die du verwendest.
Zum Zurückrechnen aus deinem Beispiel, fehlt mir einfach die Lust.

[Anleitung]
Finde die Formeln auf der Webseite.
Benutze den Taschenrechner deines PCs zum Rechnen und wandeln der 
Zahlenbasis.
Hänge die Dualwerte (Hexwerte) aneinander.
[/Anleitung]


mfg Volker

von Volker Z. (vza)


Lesenswert?

Sorry. Das "--Grün" lies mich glauben, Du hast die Werte in RGB 
vorliegen.

In welchem Format hast Du sie denn?

von Ronny (Gast)


Lesenswert?

Ronny schrieb:
> x"00A18DA12B" sind 40 bit (39 downto 0)

vorliegen habe ich die Farben in RGB Form als Hex Werte die wollte ich 
in YUV Hex Werte umwandeln

von Volker Z. (vza)


Lesenswert?

Ja, dann hast Du doch alles!

Wo harkt es denn noch?

von D. I. (Gast)


Lesenswert?

Zumal das noch die einfachere Richtung ist, da nur Multiplikation und 
Addition beteiligt sind

von Ronny (Gast)


Lesenswert?

RGB Hex Werte sind aber 3 Byte groß ich brauche aber 4 Byte bei YUV die 
beiden 00 am anfang gehören nicht dazu

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> RGB Hex Werte sind aber 3 Byte groß
Die können durchaus auch mehr als nur 3 Bytes (= 24Bit) haben. Z.B. hat 
dein PC als höchte Farbqualität auch schon 32 Bit (siehe "Eigenschaften 
von Anzeige")...

> ich brauche aber 4 Byte bei YUV
Y und U und V sind aber auch nur 3 Werte.

Der Rest ist "nur" Umrechnung.

von MicroSD (Gast)


Lesenswert?

Ronny schrieb:
> aber 4 Byte bei YUV

Dann hat dein Y, dein U und/oder dein V eine von 8 abweichende 
Bitbreite.
Die mit berücksichtigen, und du kriegst auch deine 32 Bit voll.

von Ronny (Gast)


Lesenswert?

ich gehe davon aus, dass das ITI Signale so aussieht
Cb / Y , Cy / Y, Cb / Y, Cy / Y, Cb / Y, etc.

Cy bzw Cb sind mit Y jweils 2 Byte groß...ergo habe ich 4 Byte. :)

von Ronny (Gast)


Lesenswert?

Ronny schrieb:
> ITI

ITI Soll ITU 656 heißen

von MicroSD (Gast)


Lesenswert?

Ronny schrieb:
> ITI Soll ITU 656 heißen

Also, warum nicht gleich... Du willst also garkeinen YUV-Farbraum, du 
willst den YCbCr-Farbraum

=> In diesen Konvertieren, Formel gibts hier:
http://en.wikipedia.org/wiki/YCbCr

Um das 4:2:2 Subsampling brauchst du dich dabei nicht zu kümmern, das 
ist erst wichtig wenn du mehrere Pixel (= ein Bild) hast.

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
Noch kein Account? Hier anmelden.