Programmier Problem RGB-Werte in 1 Wert?
Hallo zusammen, ich habe ein Programmier Problem:
Ein Bildanalysierungsprogramm liefert mir RGB-Werte ([R, G, B])
als Array von 0 bis 255 jeweils.
Ich muss jetzt allerdings diese Werte in einen Umrechnen der von 0 bis 255 geht.
Zum Beispiel wenn ich den RGB-Wert 255,0,0 habe ist das in dem Einzelwet: 0
wenn ich den RGB-Wert 0,255,0 habe ist das der Wert 85 und bei 0,0,255 ist es 170
und bei 255 wieder 255,0,0
Hat irgendwer eine Idee wie ich das Umrechnen kann?
Du kannst RGB-Werte nicht in eine einzige Zahl umrechnen, ohne Informationen zu verlieren. Was ist denn das Ziel? Willst du den Farbton erhalten?
Ich weiß das ist genau mein Problem, ich möchte nur den ungefähren Farbton erhalten
2 Antworten
Um den Farbton zu erhalten, kannst du diese Antwort auf StackOverflow nutzen. Nur musst du das Ergebnis am Ende mit 42,66 multiplizieren, nicht mit 60, und bei einem negativen Ergebnis 255 addieren, weil das Ergebnis zwischen 0 und 255 liegen soll.
Wenn ich recht verstehe, willst du RGB ins HSV-Modell wandeln, wobei du nur h (hue) brauchst.
https://de.wikipedia.org/wiki/HSV-Farbraum#Umrechnung_RGB_in_HSV/HSL
Ja, danke ich wusste nichts von dem, allerdings sind die Werte etwas verschoben:
RGB: [4,68,116] (Blau) = HSV: 206 != MeinProgramm: 170
Gibt es da einen Wert das zu ändern?
Wahrscheinlich liegt das daran, dass Hue normalerweise als Wert zwischen 0 und 360 angegeben wird, du willst aber einen Wert zwischen 0 und 255.
Ah, Danke werde ich versuchen