Heim > Backend-Entwicklung > C++ > Wie konvertiert man RGB- in HSV- und HSV-in-RGB-Werte im Bereich von 0 bis 255?

Wie konvertiert man RGB- in HSV- und HSV-in-RGB-Werte im Bereich von 0 bis 255?

Linda Hamilton
Freigeben: 2024-12-10 10:20:15
Original
985 Leute haben es durchsucht

How to Convert RGB to HSV and HSV to RGB Values within a 0-255 Range?

Algorithmus für die Konvertierung von RGB in HSV und HSV in RGB im Bereich 0-255

Es wird ein Farbraumkonvertierungsalgorithmus für die Umwandlung von RGB-Farben vorgestellt Werte in HSV umwandeln und umgekehrt, wobei der Bereich von 0 bis 255 in beiden Farbräumen beibehalten wird. So funktioniert es:

RGB-zu-HSV-Konvertierung (rgb2hsv)

So konvertieren Sie RGB-Werte (r, g, b) in HSV (h, s, v):

  1. Bestimmen Sie die minimalen und maximalen Werte von r, g und b.
  2. Berechnen Sie die Wertkomponente (v) als Maximalwert.
  3. Berechnen Sie die Sättigungskomponente(n) als Verhältnis von (v - Minimalwert) zu v.
  4. Bestimmen Sie die Farbtonkomponente (h):

    • Wenn r maximal ist, wird h als (g – b) / (v – minimaler Wert) berechnet.
    • Wenn g maximal ist, beträgt h 2,0 (b – r) / (v – Minimalwert).
    • Wenn b maximal ist, beträgt h 4,0 (r – g) / (v – Minimalwert).
  5. Wandeln Sie den h-Winkel in Grad um.
  6. Wenn h negativ ist, addieren Sie 360 Grad.

HSV-zu-RGB-Konvertierung (hsv2rgb)

So konvertieren Sie HSV-Werte (h, s, v) in RGB (r, g, b):

  1. Wenn s Null ist, setzen Sie r, g und b auf v.
  2. Andernfalls berechnen Sie den Farbtonwinkel Bruch (hh) und der Boden (i) von hh.
  3. Berechnen Sie die Werte p=v⋅(1−s), q=v⋅(1−s⋅(1−hh)) und t =v⋅(1−s⋅hh).
  4. Basierend auf i, weisen Sie r, g und Werte zu b:

    • Fall 0: r=v, g=t, b=p
    • Fall 1: r=q, g=v, b=p
    • Fall 2: r=p, g=v, b=t
    • Fall 3: r=p, g=q, b=v
    • Fall 4: r=t, g=p, b=v
    • Fall 5: r=v, g=p, b=q

Diese Funktionen ermöglichen eine effiziente und genaue Konvertierung zwischen RGB- und HSV-Farbräumen, was für Anwendungen mit Farbmanipulation und Bildbearbeitung von entscheidender Bedeutung ist Verarbeitung.

Das obige ist der detaillierte Inhalt vonWie konvertiert man RGB- in HSV- und HSV-in-RGB-Werte im Bereich von 0 bis 255?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage