matplotlib.colors.LightSource #
- classe matplotlib.colors. LightSource ( azdeg = 315 , altdeg = 45 , hsv_min_val = 0 , hsv_max_val = 1 , hsv_min_sat = 1 , hsv_max_sat = 0 ) [fonte] #
Basi:
object
Crea una fonte di luce proveniente dall'azimut e dall'elevazione specificati. Gli angoli sono in gradi, con l'azimut misurato in senso orario da nord e l'elevazione dal piano zero della superficie.
shade
è usato per produrre valori rgb "ombreggiati" per un array di dati.shade_rgb
può essere utilizzato per combinare un'immagine rgb con una mappa altimetrica.hillshade
produce una mappa di illuminazione di una superficie.Specificare l'azimut (misurato in senso orario da sud) e l'altitudine (misurata dal piano della superficie) della sorgente luminosa in gradi.
- Parametri :
- azdeg float, default: 315 gradi (da nord-ovest)
L'azimut (0-360, gradi in senso orario dal nord) della sorgente luminosa.
- altdeg float, predefinito: 45 gradi
L'altitudine (0-90, gradi sopra l'orizzontale) della sorgente luminosa.
Appunti
Per compatibilità con le versioni precedenti, i parametri hsv_min_val , hsv_max_val , hsv_min_sat e hsv_max_sat possono essere forniti anche durante l'inizializzazione. Tuttavia, questi parametri verranno utilizzati solo se "blend_mode='hsv'" viene passato in
shade
oshade_rgb
. Vedere la documentazioneblend_hsv
per maggiori dettagli.- blend_hsv ( rgb , intensità , hsv_max_sat = Nessuno , hsv_max_val = Nessuno , hsv_min_val = Nessuno , hsv_min_sat = Nessuno ) [fonte] #
Prendi l'array di dati di input, converti in valori HSV nella mappa di colori data, quindi regola quei valori di colore per dare l'impressione di una mappa in rilievo ombreggiata con una fonte di luce specificata. Vengono restituiti i valori RGBA, che possono quindi essere utilizzati per tracciare l'immagine ombreggiata con imshow.
Il colore dell'immagine risultante verrà scurito spostando i valori (s, v) (nello spazio colore hsv) verso (hsv_min_sat, hsv_min_val) nelle regioni ombreggiate o schiarito facendo scorrere (s, v) verso (hsv_max_sat, hsv_max_val) in regioni illuminate. Gli estremi predefiniti sono scelti in modo che i punti completamente ombreggiati siano quasi neri (s = 1, v = 0) e i punti completamente illuminati siano quasi bianchi (s = 0, v = 1).
- Parametri :
- rgb ndarray
Un array MxNx3 RGB di float compreso tra 0 e 1 (immagine a colori).
- intensità narray
Un array MxNx1 di float compreso tra 0 e 1 (immagine in scala di grigi).
- numero hsv_max_sat , predefinito: 1
Il valore massimo di saturazione a cui la mappa di intensità può spostare l'immagine di output.
- hsv_min_sat numero, facoltativo
Il valore di saturazione minimo a cui la mappa di intensità può spostare l'immagine di output. Il valore predefinito è 0.
- hsv_max_val numero, facoltativo
Il valore massimo ("v" in "hsv") a cui la mappa di intensità può spostare l'immagine di output. Il valore predefinito è 1.
- hsv_min_val numero, facoltativo
Il valore minimo ("v" in "hsv") a cui la mappa di intensità può spostare l'immagine di output. Il valore predefinito è 0.
- Resi :
- ndrray
Un array RGB MxNx3 che rappresenta le immagini combinate.
- blend_overlay ( rgb , intensità ) [fonte] #
Combina un'immagine rgb con una mappa di intensità utilizzando la fusione "sovrapposizione".
- Parametri :
- rgb ndarray
Un array MxNx3 RGB di float compreso tra 0 e 1 (immagine a colori).
- intensità narray
Un array MxNx1 di float compreso tra 0 e 1 (immagine in scala di grigi).
- Resi :
- ndrray
Un array RGB MxNx3 che rappresenta le immagini combinate.
- blend_soft_light ( rgb , intensità ) [fonte] #
Combina un'immagine rgb con una mappa di intensità utilizzando la fusione "luce soffusa", utilizzando la formula "pegtop".
- Parametri :
- rgb ndarray
Un array MxNx3 RGB di float compreso tra 0 e 1 (immagine a colori).
- intensità narray
Un array MxNx1 di float compreso tra 0 e 1 (immagine in scala di grigi).
- Resi :
- ndrray
Un array RGB MxNx3 che rappresenta le immagini combinate.
- direzione proprietà #
La direzione del vettore unitario verso la sorgente luminosa.
- ombra di collina ( elevazione , vert_exag = 1 , dx = 1 , dy = 1 , frazione = 1.0 ) [fonte] #
Calcolare l'intensità dell'illuminazione per una superficie utilizzando l'azimut e l'elevazione definiti per la sorgente luminosa.
Questo calcola i vettori normali per la superficie e poi li passa a
shade_normals
- Parametri :
- simile a un array 2D di elevazione
I valori di altezza utilizzati per generare una mappa di illuminazione
- vert_exag numero, facoltativo
La quantità di cui esagerare i valori di elevazione durante il calcolo dell'illuminazione. Questo può essere utilizzato per correggere le differenze nelle unità tra il sistema di coordinate xy e il sistema di coordinate di elevazione (ad esempio gradi decimali rispetto a metri) o per esagerare o de-enfatizzare gli effetti topografici.
- numero dx , facoltativo
La spaziatura x (colonne) della griglia di quota altimetrica di input.
- numero dy , facoltativo
La spaziatura y (righe) della griglia di quota altimetrica di input.
- numero di frazione , facoltativo
Aumenta o diminuisce il contrasto dell'ombreggiatura. I valori maggiori di uno faranno sì che i valori intermedi si avvicinino all'illuminazione completa o all'ombra (ritagliando qualsiasi valore che si sposti oltre 0 o 1). Si noti che questo non è visivamente o matematicamente uguale all'esagerazione verticale.
- Resi :
- ndrray
Una matrice 2D di valori di illuminazione compresi tra 0 e 1, dove 0 è completamente in ombra e 1 è completamente illuminato.
- shade ( data , cmap , norm = None , blend_mode = 'overlay' , vmin = None , vmax = None , vert_exag = 1 , dx = 1 , dy = 1 , frazione = 1 , ** kwargs ) [fonte] #
Combina i valori dei dati mappati a colori con una mappa dell'intensità dell'illuminazione (nota anche come "hillshade") dei valori.
- Parametri :
- simile a un array di dati 2D
I valori di altezza utilizzati per generare una mappa ombreggiata.
- cmap
Colormap
La mappa di colori utilizzata per colorare l' array di dati . Si noti che questa deve essere
Colormap
un'istanza. Ad esempio, anziché passarecmap='gist_earth'
, utilizzarecmap=plt.get_cmap('gist_earth')
invece.- istanza di norma
Normalize
, facoltativo La normalizzazione utilizzata per ridimensionare i valori prima del colormapping. Se None, l'input verrà scalato linearmente tra i suoi valori min e max.
- blend_mode {'hsv', 'overlay', 'soft'} o richiamabile, facoltativo
Il tipo di fusione utilizzato per combinare i valori dei dati mappati a colori con l'intensità dell'illuminazione. L'impostazione predefinita è "overlay". Si noti che per la maggior parte delle superfici topografiche, "overlay" o "soft" appaiono visivamente più realistici. Se viene fornita una funzione definita dall'utente, è previsto che combini un array RGB MxNx3 di float (compreso tra 0 e 1) con un array di hillshade MxNx1 (anch'esso compreso tra 0 e 1). (Firma della chiamata ) I kwarg aggiuntivi forniti a questa funzione verranno passati alla funzione blend_mode .
func(rgb, illum, **kwargs)
- vmin float o None, facoltativo
Il valore minimo utilizzato nei dati di colormapping . Se None viene utilizzato il valore minimo nei dati . Se viene specificata la norma , questo argomento verrà ignorato.
- vmax float o Nessuno, facoltativo
Il valore massimo utilizzato nei dati di colormapping . Se None viene utilizzato il valore massimo nei dati . Se viene specificata la norma , questo argomento verrà ignorato.
- vert_exag numero, facoltativo
La quantità di cui esagerare i valori di elevazione durante il calcolo dell'illuminazione. Questo può essere utilizzato per correggere le differenze di unità tra il sistema di coordinate xy e il sistema di coordinate di elevazione (ad esempio gradi decimali rispetto a metri) o per esagerare o ridurre l'enfasi della topografia.
- numero dx , facoltativo
La spaziatura x (colonne) della griglia di quota altimetrica di input.
- numero dy , facoltativo
La spaziatura y (righe) della griglia di quota altimetrica di input.
- numero di frazione , facoltativo
Aumenta o diminuisce il contrasto dell'ombreggiatura. I valori maggiori di uno faranno sì che i valori intermedi si avvicinino all'illuminazione completa o all'ombra (ritagliando qualsiasi valore che si sposti oltre 0 o 1). Si noti che questo non è visivamente o matematicamente uguale all'esagerazione verticale.
- Ulteriori kwarg vengono passati alla funzione *blend_mode*.
- Resi :
- ndrray
Un array MxNx4 di float compreso tra 0 e 1.
- shade_normals ( normali , frazione = 1.0 ) [fonte] #
Calcolare l'intensità dell'illuminazione per i vettori normali di una superficie utilizzando l'azimut e l'elevazione definiti per la sorgente luminosa.
Immagina un sole artificiale posto all'infinito in una posizione di azimut ed elevazione che illumina la nostra superficie. Le parti della superficie che si inclinano verso il sole dovrebbero schiarirsi mentre quelle rivolte verso l'esterno dovrebbero diventare più scure.
- Parametri :
- numero di frazione , facoltativo
Aumenta o diminuisce il contrasto dell'ombreggiatura. I valori maggiori di uno faranno sì che i valori intermedi si avvicinino all'illuminazione completa o all'ombra (ritagliando qualsiasi valore che si sposti oltre 0 o 1). Si noti che questo non è visivamente o matematicamente uguale all'esagerazione verticale.
- Resi :
- ndrray
Una matrice 2D di valori di illuminazione compresi tra 0 e 1, dove 0 è completamente in ombra e 1 è completamente illuminato.
- shade_rgb ( rgb , elevazione , frazione = 1.0 , blend_mode = 'hsv' , vert_exag = 1 , dx = 1 , dy = 1 , ** kwargs ) [fonte] #
Utilizzare questa fonte di luce per regolare i colori dell'array di input rgb per dare l'impressione di una mappa in rilievo ombreggiato con la data elevazione .
- Parametri :
- simile a un array rgb
Un array RGB (M, N, 3), presunto compreso nell'intervallo da 0 a 1.
- simile a un array di elevazione
Un array (M, N) dei valori di altezza utilizzati per generare una mappa ombreggiata.
- numero di frazione
Aumenta o diminuisce il contrasto dell'ombreggiatura. I valori maggiori di uno faranno sì che i valori intermedi si avvicinino all'illuminazione completa o all'ombra (ritagliando qualsiasi valore che si sposti oltre 0 o 1). Si noti che questo non è visivamente o matematicamente uguale all'esagerazione verticale.
- blend_mode {'hsv', 'overlay', 'soft'} o richiamabile, facoltativo
Il tipo di fusione utilizzato per combinare i valori dei dati mappati a colori con l'intensità dell'illuminazione. Per compatibilità con le versioni precedenti, l'impostazione predefinita è "hsv". Si noti che per la maggior parte delle superfici topografiche, "overlay" o "soft" appaiono visivamente più realistici. Se viene fornita una funzione definita dall'utente, è previsto che combini un array RGB MxNx3 di float (compreso tra 0 e 1) con un array di hillshade MxNx1 (anch'esso compreso tra 0 e 1). (Firma della chiamata ) I kwarg aggiuntivi forniti a questa funzione verranno passati alla funzione blend_mode .
func(rgb, illum, **kwargs)
- vert_exag numero, facoltativo
La quantità di cui esagerare i valori di elevazione durante il calcolo dell'illuminazione. Questo può essere utilizzato per correggere le differenze di unità tra il sistema di coordinate xy e il sistema di coordinate di elevazione (ad esempio gradi decimali rispetto a metri) o per esagerare o ridurre l'enfasi della topografia.
- numero dx , facoltativo
La spaziatura x (colonne) della griglia di quota altimetrica di input.
- numero dy , facoltativo
La spaziatura y (righe) della griglia di quota altimetrica di input.
- Ulteriori kwarg vengono passati alla funzione *blend_mode*.
- Resi :
- ndrray
Un array (m, n, 3) di float compreso tra 0 e 1.
Esempi che utilizzano matplotlib.colors.LightSource
#
Rendering ombreggiato e potenza normalizzata
Ombreggiatura personalizzata in un grafico di superficie 3D