matplotlib.colors.LightSource #
- Klasse matplotlib.colors. Lichtquelle ( azdeg = 315 , altdeg = 45 , hsv_min_val = 0 , hsv_max_val = 1 , hsv_min_sat = 1 , hsv_max_sat = 0 ) [Quelle] #
Basen:
object
Erstellen Sie eine Lichtquelle, die aus dem angegebenen Azimut und der Höhe kommt. Winkel sind in Grad angegeben, wobei der Azimut im Uhrzeigersinn von Norden und die Höhe von der Nullebene der Oberfläche gemessen wird.
shade
wird verwendet, um "schattierte" RGB-Werte für ein Datenarray zu erzeugen.shade_rgb
kann verwendet werden, um ein RGB-Bild mit einer Höhenkarte zu kombinieren.hillshade
erzeugt eine Beleuchtungskarte einer Oberfläche.Geben Sie den Azimut (von Süden im Uhrzeigersinn gemessen) und die Höhe (von der Ebene der Oberfläche aus gemessen) der Lichtquelle in Grad an.
- Parameter :
- azdeg float, Standard: 315 Grad (von Nordwesten)
Der Azimut (0-360, Grad im Uhrzeigersinn von Norden) der Lichtquelle.
- altdeg float, Standard: 45 Grad
Die Höhe (0–90 Grad von der Horizontalen nach oben) der Lichtquelle.
Anmerkungen
Aus Gründen der Abwärtskompatibilität können die Parameter hsv_min_val , hsv_max_val , hsv_min_sat und hsv_max_sat auch bei der Initialisierung bereitgestellt werden. Diese Parameter werden jedoch nur verwendet, wenn "blend_mode='hsv'" an
shade
oder übergeben wirdshade_rgb
.blend_hsv
Weitere Einzelheiten finden Sie in der Dokumentation .- blend_hsv ( rgb , Intensität , hsv_max_sat = Keine , hsv_max_val = Keine , hsv_min_val = Keine , hsv_min_sat = Keine ) [Quelle] #
Nehmen Sie das Eingabedaten-Array, konvertieren Sie es in HSV-Werte in der angegebenen Farbkarte und passen Sie diese Farbwerte an, um den Eindruck einer schattierten Reliefkarte mit einer bestimmten Lichtquelle zu erwecken. Es werden RGBA-Werte zurückgegeben, die dann verwendet werden können, um das schattierte Bild mit imshow zu plotten.
Die Farbe des resultierenden Bildes wird durch Verschieben der (s, v)-Werte (im hsv-Farbraum) in Richtung (hsv_min_sat, hsv_min_val) in den schattierten Bereichen abgedunkelt oder durch Verschieben von (s, v) in Richtung (hsv_max_sat, hsv_max_val) aufgehellt beleuchtete Regionen. Die Standardextreme werden so gewählt, dass vollständig schattierte Punkte fast schwarz sind (s = 1, v = 0) und vollständig beleuchtete Punkte fast weiß sind (s = 0, v = 1).
- Parameter :
- rgb ndarray
Ein MxNx3-RGB-Array von Floats im Bereich von 0 bis 1 (Farbbild).
- Intensität ndarray
Ein MxNx1-Array von Floats im Bereich von 0 bis 1 (Graustufenbild).
- hsv_max_sat- Nummer, Standard: 1
Der maximale Sättigungswert, auf den die Intensitätskarte das Ausgabebild verschieben kann.
- hsv_min_sat Zahl, optional
Der minimale Sättigungswert, auf den die Intensitätskarte das Ausgabebild verschieben kann. Standardmäßig 0.
- hsv_max_val Zahl, optional
Der maximale Wert ("v" in "hsv"), auf den die Intensitätskarte das Ausgabebild verschieben kann. Standardmäßig 1.
- hsv_min_val Zahl, optional
Der Mindestwert ("v" in "hsv"), auf den die Intensitätskarte das Ausgabebild verschieben kann. Standardmäßig 0.
- Rückgaben :
- ndarray
Ein MxNx3-RGB-Array, das die kombinierten Bilder darstellt.
- blend_overlay ( rgb , Intensität ) [Quelle] #
Kombinieren Sie ein RGB-Bild mit einer Intensitätskarte mithilfe von „Overlay“-Blending.
- Parameter :
- rgb ndarray
Ein MxNx3-RGB-Array von Floats im Bereich von 0 bis 1 (Farbbild).
- Intensität ndarray
Ein MxNx1-Array von Floats im Bereich von 0 bis 1 (Graustufenbild).
- Rückgaben :
- ndarray
Ein MxNx3-RGB-Array, das die kombinierten Bilder darstellt.
- blend_soft_light ( rgb , Intensität ) [Quelle] #
Kombinieren Sie ein RGB-Bild mit einer Intensitätskarte, indem Sie "weiches Licht" mischen und die "Pegtop" -Formel verwenden.
- Parameter :
- rgb ndarray
Ein MxNx3-RGB-Array von Floats im Bereich von 0 bis 1 (Farbbild).
- Intensität ndarray
Ein MxNx1-Array von Floats im Bereich von 0 bis 1 (Graustufenbild).
- Rückgaben :
- ndarray
Ein MxNx3-RGB-Array, das die kombinierten Bilder darstellt.
- Eigenschaft Richtung #
Die Richtung des Einheitsvektors zur Lichtquelle.
- Schummerung ( Elevation , vert_exag = 1 , dx = 1 , dy = 1 , Bruch = 1,0 ) [Quelle] #
Berechnen Sie die Beleuchtungsstärke für eine Fläche unter Verwendung des definierten Azimuts und der Elevation für die Lichtquelle.
Dieser berechnet die Normalenvektoren für die Fläche und übergibt sie dann an
shade_normals
- Parameter :
- Elevation 2D-Array-ähnlich
Die Höhenwerte, die zum Generieren einer Beleuchtungskarte verwendet werden
- vert_exag Zahl, optional
Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden sollen. Dies kann entweder verwendet werden, um Einheitenunterschiede zwischen dem xy-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) zu korrigieren oder um topografische Effekte zu übertreiben oder abzuschwächen.
- DX- Nummer, optional
Der x-Abstand (Spalten) des Eingabehöhenrasters .
- dy- Nummer, optional
Der y-Abstand (Zeilen) des Eingabehöhenrasters .
- Bruchzahl , optional
Erhöht oder verringert den Kontrast der Schummerung. Werte größer als eins bewirken, dass sich Zwischenwerte näher an volle Beleuchtung oder Schatten bewegen (und alle Werte beschnitten werden, die sich über 0 oder 1 hinaus bewegen). Beachten Sie, dass dies weder visuell noch mathematisch mit einer vertikalen Überhöhung identisch ist.
- Rückgaben :
- ndarray
Ein 2D-Array von Beleuchtungswerten zwischen 0 und 1, wobei 0 vollständig im Schatten und 1 vollständig beleuchtet ist.
- Schatten ( data , cmap , norm = None , blend_mode = 'overlay' , vmin = None , vmax = None , vert_exag = 1 , dx = 1 , dy = 1 , fraction = 1 , ** kwargs ) [Quelle] #
Kombinieren Sie farbzugeordnete Datenwerte mit einer Beleuchtungsintensitätskarte (auch als „Schummerung“ bezeichnet) der Werte.
- Parameter :
- Daten 2D-Array-ähnlich
Die Höhenwerte, die zum Generieren einer schattierten Karte verwendet werden.
- cmap
Colormap
Die Colormap, die zum Einfärben des Datenarrays verwendet wird . Beachten Sie, dass dies eine
Colormap
Instanz sein muss. Anstatt beispielsweise , zu übergebencmap='gist_earth'
, verwenden Siecmap=plt.get_cmap('gist_earth')
stattdessen.- Norminstanz
Normalize
, optional Die zum Skalieren von Werten vor der Farbzuordnung verwendete Normalisierung. Wenn None, wird die Eingabe linear zwischen ihrem Minimum und Maximum skaliert.
- blend_mode {'hsv', 'overlay', 'soft'} oder aufrufbar, optional
Die Art der Überblendung, die verwendet wird, um die farbzugeordneten Datenwerte mit der Beleuchtungsintensität zu kombinieren. Standard ist "überlagern". Beachten Sie, dass für die meisten topografischen Oberflächen „Overlay“ oder „Soft“ visuell realistischer erscheinen. Wenn eine benutzerdefinierte Funktion bereitgestellt wird, wird erwartet, dass sie ein MxNx3-RGB-Array von Floats (von 0 bis 1) mit einem MxNx1-Hillshade-Array (ebenfalls 0 bis 1) kombiniert. ( Aufrufsignatur) Zusätzliche kwargs, die dieser Funktion zugeführt werden, werden an die blend_mode- Funktion weitergegeben.
func(rgb, illum, **kwargs)
- vmin float oder None, optional
Der Mindestwert, der in Farbzuordnungsdaten verwendet wird . Bei None wird der Mindestwert in data verwendet. Wenn norm angegeben ist, wird dieses Argument ignoriert.
- vmax Float oder None, optional
Der maximale Wert, der in Farbzuordnungsdaten verwendet wird . Bei None wird der Maximalwert in data verwendet. Wenn norm angegeben ist, wird dieses Argument ignoriert.
- vert_exag Zahl, optional
Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden sollen. Dies kann entweder verwendet werden, um Einheitenunterschiede zwischen dem xy-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) zu korrigieren oder um die Topographie zu übertreiben oder abzuschwächen.
- DX- Nummer, optional
Der x-Abstand (Spalten) des Eingabehöhenrasters .
- dy- Nummer, optional
Der y-Abstand (Zeilen) des Eingabehöhenrasters .
- Bruchzahl , optional
Erhöht oder verringert den Kontrast der Schummerung. Werte größer als eins bewirken, dass sich Zwischenwerte näher an volle Beleuchtung oder Schatten bewegen (und alle Werte beschnitten werden, die sich über 0 oder 1 hinaus bewegen). Beachten Sie, dass dies weder visuell noch mathematisch mit einer vertikalen Überhöhung identisch ist.
- Zusätzliche kwargs werden an die Funktion *blend_mode* weitergegeben.
- Rückgaben :
- ndarray
Ein MxNx4-Array von Floats im Bereich zwischen 0-1.
- shade_normals ( Normals , Bruch = 1,0 ) [Quelle] #
Berechnen Sie die Beleuchtungsstärke für die Normalenvektoren einer Oberfläche unter Verwendung des definierten Azimuts und der Elevation für die Lichtquelle.
Stellen Sie sich eine künstliche Sonne vor, die in irgendeiner Azimut- und Elevationsposition im Unendlichen steht und unsere Oberfläche beleuchtet. Die der Sonne zugewandten Teile der Oberfläche sollten heller werden, während die abgewandten Seiten dunkler werden sollten.
- Parameter :
- Bruchzahl , optional
Erhöht oder verringert den Kontrast der Schummerung. Werte größer als eins bewirken, dass sich Zwischenwerte näher an volle Beleuchtung oder Schatten bewegen (und alle Werte beschnitten werden, die sich über 0 oder 1 hinaus bewegen). Beachten Sie, dass dies weder visuell noch mathematisch mit einer vertikalen Überhöhung identisch ist.
- Rückgaben :
- ndarray
Ein 2D-Array von Beleuchtungswerten zwischen 0 und 1, wobei 0 vollständig im Schatten und 1 vollständig beleuchtet ist.
- shade_rgb ( rgb , Elevation , Fraction = 1.0 , blend_mode = 'hsv' , vert_exag = 1 , dx = 1 , dy = 1 , ** kwargs ) [Quelle] #
Verwenden Sie diese Lichtquelle, um die Farben des RGB -Eingabearrays so anzupassen, dass der Eindruck einer schattierten Reliefkarte mit der angegebenen Höhe entsteht .
- Parameter :
- rgb -Array-ähnlich
Ein (M, N, 3) RGB-Array, von dem angenommen wird, dass es im Bereich von 0 bis 1 liegt.
- Elevation Array-artig
Ein (M, N)-Array der Höhenwerte, die zum Generieren einer schattierten Karte verwendet werden.
- Bruchzahl _
Erhöht oder verringert den Kontrast der Schummerung. Werte größer als eins bewirken, dass sich Zwischenwerte näher an volle Beleuchtung oder Schatten bewegen (und alle Werte beschnitten werden, die sich über 0 oder 1 hinaus bewegen). Beachten Sie, dass dies weder visuell noch mathematisch mit einer vertikalen Überhöhung identisch ist.
- blend_mode {'hsv', 'overlay', 'soft'} oder aufrufbar, optional
Die Art der Überblendung, die verwendet wird, um die farbzugeordneten Datenwerte mit der Beleuchtungsintensität zu kombinieren. Aus Gründen der Abwärtskompatibilität ist dies standardmäßig "hsv". Beachten Sie, dass für die meisten topografischen Oberflächen „Overlay“ oder „Soft“ visuell realistischer erscheinen. Wenn eine benutzerdefinierte Funktion bereitgestellt wird, wird erwartet, dass sie ein MxNx3-RGB-Array von Floats (von 0 bis 1) mit einem MxNx1-Hillshade-Array (ebenfalls 0 bis 1) kombiniert. ( Aufrufsignatur) Zusätzliche kwargs, die dieser Funktion zugeführt werden, werden an die blend_mode- Funktion weitergegeben.
func(rgb, illum, **kwargs)
- vert_exag Zahl, optional
Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden sollen. Dies kann entweder verwendet werden, um Einheitenunterschiede zwischen dem xy-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) zu korrigieren oder um die Topographie zu übertreiben oder abzuschwächen.
- DX- Nummer, optional
Der x-Abstand (Spalten) des Eingabehöhenrasters .
- dy- Nummer, optional
Der y-Abstand (Zeilen) des Eingabehöhenrasters .
- Zusätzliche kwargs werden an die Funktion *blend_mode* weitergegeben.
- Rückgaben :
- ndarray
Ein (m, n, 3) Array von Gleitkommazahlen zwischen 0 und 1.
Beispiele mit matplotlib.colors.LightSource
#
Shaded & Power Normalized Rendering
Benutzerdefinierte Schummerung in einem 3D-Oberflächendiagramm