Converti i valori HSV in RGB
Scrivi tonalità, saturazione e valore, e i canali RGB compaiono mentre scrivi: hsv(217.2, 76%, 96.5%) diventa rgb(59, 130, 246). Il campo accetta gradi e percentuale di Photoshop o Figma, i tre numeri che dà OpenCV e le frazioni di Python. Scegli l’opzione del selettore Notazione HSV prima di incollare, perché se nel campo c’è già un colore il selettore lo riscrive come lo stesso colore nella nuova notazione.
Inserisci la tonalità in gradi e la saturazione e il valore in percentuale. Separa i valori con virgole o spazi.
Che cosa indicano i tre numeri HSV?
Il primo numero è la tonalità (H), un angolo sulla ruota dei colori: 0° è il rosso, 120° il verde e 240° il blu[1]. Il secondo è la saturazione (S) e il terzo il valore (V). Photoshop chiama lo stesso modello HSB, e la guida di Adobe ne indica le componenti come tonalità, saturazione e luminosità[2].
Saturazione e valore si capiscono meglio pensando ai colori da pittura. Alvy Ray Smith, che ha descritto il modello nel 1978, li paragonava all'aggiunta di bianco e di nero a una tonalità pura: meno saturazione è più bianco, meno valore è più nero[3]. Per questo qualsiasi colore con valore 0% è nero, qualunque cosa dicano gli altri due numeri, e con saturazione 0% resta un grigio di quel valore.

Se hai il colore in un’altra notazione, per esempio OKLCH, Lab o codice Android, il convertitore colori lo mostra insieme in tutte le notazioni.
Come si converte HSV in RGB?
Calcola prima il croma, cioè la distanza tra i canali: C = V × S. Poi dividi la tonalità per 60°. La parte intera del risultato sceglie uno dei sei settori della ruota, e dal resto si ottiene il canale intermedio: X = C × (1 − |(H ÷ 60°) mod 2 − 1|). Alla fine aggiungi m = V − C a tutti i canali[1].
Prendiamo hsv(217.2, 76%, 96.5%). Il croma è 0,965 × 0,76 = 0,733. La tonalità divisa per 60° dà 3,62, quindi il colore sta nel settore tra 180° e 240°, dove il rosso vale zero, il verde è il canale intermedio e il blu è pieno. Il canale intermedio vale 0,733 × (1 − |1,62 − 1|) = 0,279, e m = 0,965 − 0,733 = 0,232.
Dopo aver aggiunto m, i canali valgono 0,232, 0,511 e 0,965. Moltiplicati per 255 e arrotondati danno rgb(59, 130, 246), che il convertitore da RGB a HEX trasforma in codice esadecimale.
Quali colori RGB si trovano sulla ruota dei colori ogni 30°?
| Notazione HSV | Valori RGB | Codice HEX |
|---|---|---|
| hsv(0, 100%, 100%) | rgb(255, 0, 0) | #FF0000 |
| hsv(30, 100%, 100%) | rgb(255, 128, 0) | #FF8000 |
| hsv(60, 100%, 100%) | rgb(255, 255, 0) | #FFFF00 |
| hsv(90, 100%, 100%) | rgb(128, 255, 0) | #80FF00 |
| hsv(120, 100%, 100%) | rgb(0, 255, 0) | #00FF00 |
| hsv(150, 100%, 100%) | rgb(0, 255, 128) | #00FF80 |
| hsv(180, 100%, 100%) | rgb(0, 255, 255) | #00FFFF |
| hsv(210, 100%, 100%) | rgb(0, 128, 255) | #0080FF |
| hsv(240, 100%, 100%) | rgb(0, 0, 255) | #0000FF |
| hsv(270, 100%, 100%) | rgb(128, 0, 255) | #8000FF |
| hsv(300, 100%, 100%) | rgb(255, 0, 255) | #FF00FF |
| hsv(330, 100%, 100%) | rgb(255, 0, 128) | #FF0080 |
hsv(0, 100%, 50%) è rgb(128, 0, 0).Quali colori RGB danno le variabili hsb() di Bootstrap Italia?
hsb(210, 100, 80) e ne ricava le varianti cambiando saturazione e luminosità[4]. La tabella riporta i valori hsb() del file e il risultato che per ciascuno dà questo convertitore.| Variabile e valore hsb() | Valori RGB | Codice HEX |
|---|---|---|
| $primary-a12: 210, 100, 20 | rgb(0, 26, 51) | #001A33 |
| $primary-a11: 210, 100, 30 | rgb(0, 38, 77) | #00264D |
| $primary-a10: 210, 100, 40 | rgb(0, 51, 102) | #003366 |
| $primary-a9: 210, 100, 50 | rgb(0, 64, 128) | #004080 |
| $primary-a8: 210, 100, 60 | rgb(0, 77, 153) | #004D99 |
| $primary-a7: 210, 100, 70 | rgb(0, 89, 179) | #0059B3 |
| $primary: 210, 100, 80 | rgb(0, 102, 204) | #0066CC |
| $primary-a5: 210, 85, 84 | rgb(32, 123, 214) | #207BD6 |
| $primary-a4: 210, 70, 88 | rgb(67, 146, 224) | #4392E0 |
| $primary-a3: 210, 55, 92 | rgb(106, 170, 235) | #6AAAEB |
| $primary-a2: 211, 40, 96 | rgb(147, 194, 245) | #93C2F5 |
| $primary-a1: 210, 25, 99 | rgb(189, 221, 252) | #BDDDFC |
I numeri interi di Figma danno esattamente lo stesso colore?
| Notazione HSV | Valori RGB | Codice HEX |
|---|---|---|
| hsv(217.2, 76%, 96.5%) | rgb(59, 130, 246) | #3B82F6 |
| hsv(217, 76%, 96%) | rgb(59, 130, 245) | #3B82F5 |
| hsv(217, 76%, 97%) | rgb(59, 131, 247) | #3B83F7 |
| hsv(142.1, 82.7%, 77.3%) | rgb(34, 197, 94) | #22C55E |
| hsv(142, 83%, 77%) | rgb(33, 196, 93) | #21C45D |
Come si scrive un colore HSV in CSS?
CSS non ha la funzione hsv(), ma ha hwb(), in cui la tonalità è seguita dalla quantità di bianco e di nero mescolata al colore[6]. Il modello HWB l'ha descritto Alvy Ray Smith nel 1996, e si ricava da HSV con due formule brevi: W = (1 − S) × V e B = 1 − V[7].
Per hsv(217.2, 76%, 96.5%) il bianco vale (1 − 0,76) × 0,965 = 23,1% e il nero 1 − 0,965 = 3,5%, quindi nel foglio di stile scrivi hwb(217.2 23.1% 3.5%). Il browser mostra lo stesso colore di rgb(59, 130, 246). Se preferisci una notazione che capisca qualsiasi strumento, incolla semplicemente il risultato di questo convertitore.
Perché una terna di OpenCV torna come un colore un po' diverso?
OpenCV salva la tonalità di un'immagine a 8 bit come metà dell'angolo, per farla stare in un byte[8]. Due valori di tonalità vicini distano quindi 2°, e un colore che cade in mezzo non ha una corrispondenza esatta. La terna 109, 194, 246 che OpenCV dà per rgb(59, 130, 246) torna con l'opzione OpenCV come rgb(59, 127, 246), con il verde più basso di tre unità. OpenCV restituisce esattamente lo stesso: abbiamo confrontato l'opzione OpenCV con OpenCV.js 4.10 su tutte le terne con tonalità da 0 a 180.
Se il risultato deve tornare in un'immagine caricata con cv2.imread, usa cv2.COLOR_HSV2BGR, perché quell'immagine tiene i canali nell'ordine blu, verde, rosso[9].
Quali formati HSV accetta questo convertitore?
| Cosa scrivi | Cosa mostra il convertitore | Come lo leggiamo |
|---|---|---|
| hsv(217.2, 76%, 96.5%) | rgb(59, 130, 246) | Prendiamo così com'è la notazione con le parentesi, la stessa che dà il convertitore da RGB a HSV. |
| hsb(210, 100, 80) | rgb(0, 102, 204) | Leggiamo il nome HSB come HSV e prendiamo saturazione e luminosità senza segno di percentuale, come nelle variabili di Bootstrap Italia. |
| H 217,2 S 76 B 96,5 | rgb(59, 130, 246) | Togliamo le lettere delle caselle del Selettore colore di Photoshop e leggiamo la virgola tra le cifre come decimale. |
| 217,2 76 96,5 | rgb(59, 130, 246) | Bastano tre numeri senza simboli, anche con la virgola decimale come si scrive in italiano. |
| 0,6034 0,7602 0,9647 | rgb(59, 130, 246) | Riconosciamo tre frazioni non maggiori di 1 come notazione di Python e le leggiamo come con l'opzione 0–1. |
| hsva(217.2, 76%, 96.5%, 0.5) | rgba(59, 130, 246, 0.5) | Prendiamo il quarto numero come opacità e lo riportiamo nel risultato come rgba. |
| [109 194 246] | rgb(59, 127, 246) | Leggiamo con l'opzione OpenCV un array NumPy stampato da Python, parentesi quadre comprese. |
| -120, 100%, 100% | rgb(0, 0, 255) | Facciamo girare una tonalità negativa sulla ruota come fa CSS, quindi −120° equivale a 240°. |
| hsv(217.2, 76%, 96.5% | rgb(59, 130, 246) | La parentesi di chiusura mancante è un errore di battitura, quindi leggiamo lo stesso i numeri. |
Converti altre unità in RGB
Fonti
- HSL and HSV — Wikipedia (in inglese)
- Scegliere i colori in Adobe Photoshop — Adobe
- Color Gamut Transform Pairs (SIGGRAPH 78) — Alvy Ray Smith
- Bootstrap Italia — _variables.scss — Designers Italia
- About color models — Figma Help Center
- CSS Color Module Level 4 — HWB Colors: hwb() function — W3C
- HWB — A More Intuitive Hue-Based Color Model — Alvy Ray Smith
- Color conversions: RGB ↔ HSV — OpenCV
- Image file reading and writing: imread — OpenCV
- colorsys — Conversions between color systems — Python Software Foundation
Tutti i valori delle tabelle sono stati calcolati dalle definizioni delle unità e verificati con il calcolo prima della pubblicazione. I dati storici e i nomi delle unità locali si basano sulle fonti elencate sopra.
Ultima revisione dei contenuti: · scritto e verificato dal team Arteon
Domande frequenti sulla conversione da HSV a RGB
Perché il convertitore non accetta una saturazione di 194?
Con l'opzione 0–360°, 0–100% saturazione e valore arrivano al massimo a 100. Un numero più grande senza segno di percentuale di solito viene dalla scala da 0 a 255 di OpenCV, quindi invece di tagliarlo in silenzio al 100% il convertitore mostra un avviso. Passa allora la Notazione HSV a OpenCV (0–179, 0–255).
Nella notazione 0–1 anche la tonalità è una frazione?
Sì. Il modulo colorsys di Python dà tutti e tre i numeri da 0 a 1[10], quindi la tonalità è una frazione del giro completo. 0,6034 × 360° dà 217,2°.
Come passo da HSV a codice HEX?
Converti qui il valore e incolla il risultato nel convertitore da RGB a HEX. Il colore lo vedi subito nel campione quadrato accanto al campo, e un clic sul campione apre il selettore di colore del sistema.
Come passo da RGB a HSV?
Inserisci i canali nel convertitore da RGB a HSV. Il pulsante Inverti ordine ti porta lì con il risultato attuale.

Aiutaci a migliorare i nostri strumenti
Hai un’idea per una nuova funzione, hai trovato un errore o vuoi proporre un altro strumento? Scrivici.