Strumento per le curve di colore per il canale "valore"

2

Sto provando a scrivere un programma per leggere i file curve GIMP e applicarli a un'immagine. Ho implementato con successo le curve per i canali rosso, verde e blu, ma non riesco a farlo funzionare per il valore pseudocanale.

Per i canali colore, creo solo una tabella di ricerca dalle curve e eseguo un'iterazione tra i pixel facendo qualcosa del tipo:

red = redlookup[red]
green = greenlookup[green]
blue = bluelookup[blue]

Bene finora, ottengo esattamente gli stessi risultati nel mio programma e in GIMP.

Nella pagina GIMP collegata sopra, si afferma che il canale del valore è definito come v = max(r, g, b) ma non capisco come regolare ciascun canale di colore dalla ricerca di questo valore. Attualmente sono al ginocchio nel codice sorgente di GIMP, ma è piuttosto complicato.

In sintesi: se ho un array valuelookup che rappresenta la curva per il valore pseudochannel, come posso usarlo per regolare i valori RGB per ogni pixel in un'immagine?

GIMP definisce i canali come segue:

Valore

The curve represents the Value, i.e. the brightness of pixels as you can see them in the composite image.

Rosso; Verde; Blu

The curve represents the quantity of color in each of the three RGB channels. Here, dark means little of the color. Light means a lot of the color.

I valori vanno da 0 a 255.

    
posta sjmeverett 24.02.2014 - 00:38
fonte

0 risposte

Leggi altre domande sui tag