Zum Inhalt springen

Farbberechnung


Felicie

Empfohlene Beiträge

Hallo, kann mir jemand sagen, wie das mit der Farbberechnung geht?

Also, z.B. ich habe einen Pixel in der Farbe (0, 0, 255)

wenn ich hier die Helligkeit erhöhen will muss ich ja zuerst die RGB - Werte in dieses YUV - System umrechnen...und dann die Y - Komponente (die steht wohl für die Helligkeit) erhöhen. Oder?

So, und dann das ganze wieder zurückrechnen, damit ich di eRGB - Werte der erhellten Farbe habe.

Aber z.B. bei oberem Beispiel, komme ich hinterher über 255 wenni ch den Y - Wert nur * 2 nehme.

Wie wird das dann gemacht? Wird der Rest dann irgendwie auf den Kontrast gepackt?

Und was ist mit Kommazahlen, die man zwischendurch rausbekommt? Aufrunden? Abrunden?

Hilfe!!!

Felicie!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es wäre gut wenn Du posten würdest, was Du genau gerechnet hast. Aber eine Sache ist klar: 0,0,255 ist eine maximale Farbe. Eine höhere Intensität als 255 ist für einen Farbwert nicht realisierbar (auch wenn manche von den neuen Grafikkarten intern mit höherer Farbdichte arbeiten). Nehm mal einen kleineren Wert, dann sollten die 255 nicht überschritten werden. Um die Helligkeit zu erhöhen muß man nicht unbedingt mit YUV rechnen (was relativ kompliziert ist). Man kann einfach Die RGB-Werte im gleichen Verhältnis hochzählen. D.h. z.B. RGB(10,25,128) auf +30% in der Helligkeit erhöhen heißt: den höchsten Farbwert raussuchen. Max% wäre 128*100/255=50,19%. Dieser Wert darf nicht überschritten werden! Also 10*1.3, 25*1.3 , 128*1,3, was: RGB(13,33(aufgerundet),166 (abgerundet)) wäre. Das Problem ist, daß die Grundfarbe natürlich bei starker Verkleinerung verloren geht, weshalb man den Farbwert speichern und immer damit alles berechnen sollte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Also in DirectX gehts so

YUV aus RGB

Y = 0.3R + 0.6G + 0.1B

U = B - Y

V = R - Y

oder

Y = 0.3R + 0.6G + 0.1B

U = -0.3R - 0.6G + 0.9B

V = 0.7R - 0.6G - 0.1B

RGB aus YUV

R = Y + V

G = Y - 0.166667U - 0.5V

B = Y + U

Alle Werte liegen zwischen 0 und 1.0. In DirectDraw, von 0 bis 255.

Sonstige Kurzinfo unter

Video-Tools.De ansonsten Google [YUV]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...