Questo è legato a una domanda che ho posto su tex.stackexchange , che ha un aspetto colorato. Il risultato di questa domanda è la seguente immagine:

Ho disegnato una serie di quadrati grigi a sinistra, con un ramo rosso in partenza a destra. L'obiettivo è avere diversi quadrati rossi con una saturazione diversa, ma tutti con lo stesso valore di grigio. Nel modello di colore hsv, hanno tutti lo stesso v, ma quando converto l'immagine in scala di grigi usando Gimp, non vengono convertiti nello stesso grigio. Inoltre l'impressione visiva è che i quadrati rossi a destra siano più scuri di quelli a sinistra.
Come posso, dato un certo grigio, calcolare i colori con una certa tonalità e lo stesso valore di grigio (o, ancora meglio, con la stessa impressione di grigio )? I colori utilizzati nell'immagine sono tutti calcolati, quindi preferisco soluzioni che includano anche calcoli.
Potrei aver usato termini sbagliati qui - Sono un ingegnere meccanico, quindi per favore correggimi dove appropriato, o chiedi chiarimenti.
Il suggerimento di utilizzare lo spazio colore Lab mi ha portato ad alcune conclusioni:
Posso usare il
Lvalore del modello Lab per impostare una sorta di valore di grigio per colori diversi. Nel modello hsv questo èv. Non sono sicuro di poter effettivamente confrontare quelli, ma lo farò fino a quando qualcuno non si lamenta.Nel modello hsv posso anche impostare un po 'di "colore di base" (una tonalità), che non trovo nel modello Lab.
Nel modello hsv, ho 2 costanti (nell'immagine sopra:
h= 0,v= 0,375) e una variabile (s).Fino a questo punto, ho solo una costante nel modello Lab. Questo non è abbastanza per generare qualcosa di simile a quello che ho già fatto con il modello hsv.
Immagino sia tempo di esperimenti.
Fatto! Dopo aver eseguito il codice di conversione, è stato semplice. Il primo passo è stato definire il "bersaglio rosso" sulla destra. Ho calcolato RGB2Lab (255,0,0) e modificato il valore L del risultato nella L desiderata nella figura (L = 62,5). I colori vengono calcolati usando un'interpolazione lineare nello spazio Lab da (L, 0,0) a (L, aTarget, bTarget). Il risultato:

Grazie!

