Come rendere correttamente lo spettro visibile con intensità uniforme?


8

Sto cercando di ottenere la rappresentazione corretta dello spettro visibile da visualizzare sullo schermo. I miei attuali progressi sono nell'uso delle funzioni di corrispondenza dei colori degli osservatori standard CIE 1931, analiticamente approssimate dalle equazioni fornite in questo documento . L'immagine attuale è così:

immagine corrente che potrei generare

Qui lo sfondo non è idealmente nero per consentire di introdurre i contributi negativi delle funzioni di corrispondenza dei colori:

funzioni di corrispondenza dei colori

Ma il problema è che l'immagine sembra avere un calo di intensità da qualche parte intorno a 490 nm. Immagino che ciò sia legato alla somma delle tre funzioni che hanno un minimo lì. Vedi la somma tracciata rispetto alla lunghezza d'onda:

somma di tre funzioni di corrispondenza dei colori

Quindi la mia domanda ora è: come posso correggere l'intensità dell'immagine? Esiste uno standard per tenere conto della sensibilità spettrale quando si converte la lunghezza d'onda in rappresentazione RGB / XYZ?


Qui ho trovato alcune informazioni su questa domanda
Michael Weizenfeld del

Dai un'occhiata a questa discussione, in particolare alla risposta di Greg Ward più avanti nei post. Penso che sia legato alla tua domanda. radiance-online.org:447/pipermail/radiance-general/2015-June/…
ali

@ali vuoi dire che è legato alla mia stupida aggiunta di valori RGB non ponderati? Ho già trovato questo errore e ci ho riflettuto nella mia risposta.
Ruslan,

Risposte:


3

Immagino che ciò sia legato alla somma delle tre funzioni che hanno un minimo lì. Vedi la somma tracciata rispetto alla lunghezza d'onda

Questo è in realtà un modo sbagliato di sommare queste funzioni: il modello sRGB specifica che per ottenere la luminosità è necessario pesare i componenti RGB con pesi adeguati. Quindi la luminosità, non sorprende, diventerà uguale alla componente Y della rappresentazione XYZ.

il problema è che l'immagine sembra avere un calo di intensità intorno ai 490 nm

Posso effettivamente vedere il tuffo non solo vicino a 490 nm, ma anche a un calo più piccolo vicino a 570 nm.

Ad ogni modo, penso di aver trovato il motivo. Prima di tutto, tracciamo i colori desaturati utilizzati nel rendering sul diagramma di cromaticità:

diagramma di cromaticità con lo spettro desaturato all'interno

Il triangolo tratteggiato è la gamma sRGB e la cuspide formata dalle due linee inferiori della curva verde corrisponde al punto D65 bianco (grigio). Si noti che ci sono tre "dossi" di distanza dal punto bianco, corrispondenti a viola, blu-verde e rosso. Oppure, che c'è un grande calo di saturazione nella direzione di 490 nm e una moderata diminuzione nella direzione di circa 570 nm. Caratterizziamo questo graficamente, tracciando la norma della differenza dei punti renderizzati dal punto bianco:

diagramma di una misura di saturazione

Questo è esattamente ciò che percepisco visivamente nell'immagine in termini di saturazione e fusione con lo sfondo.

Da dove viene questa strana forma, potresti chiederti. E la risposta è, dal locus spettrale nello spazio XYZ completo. Vedere la figura seguente: la curva blu è il locus spettrale e l'arancione è la sua proiezione su un piano normale al vettore {1,1,1}.

locus spettrale nello spazio XYZ

Quindi, la forma che abbiamo ottenuto sul diagramma di cromaticità è qualcosa di simile a uno sviluppo planare del locus spettrale.

Per quanto riguarda il realismo di questo rendering, sono ragionevolmente sicuro che se proviamo a proiettare lo spettro reale su una superficie grigia non fluorescente, vedremo anche questi due "strani" tuffi. E diventeranno meno evidenti quando si aumenta la luminosità dello spettro rispetto alla luminosità della superficie.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.