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.

shadewird verwendet, um "schattierte" RGB-Werte für ein Datenarray zu erzeugen. shade_rgbkann verwendet werden, um ein RGB-Bild mit einer Höhenkarte zu kombinieren. hillshadeerzeugt 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 shadeoder übergeben wird shade_rgb. blend_hsvWeitere 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 anshade_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.

cmapColormap

Die Colormap, die zum Einfärben des Datenarrays verwendet wird . Beachten Sie, dass dies eine ColormapInstanz sein muss. Anstatt beispielsweise , zu übergeben cmap='gist_earth', verwenden Sie cmap=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#

Beispiel Schattierung

Beispiel Schattierung

Beispiel Schattierung
Shaded & Power Normalized Rendering

Shaded & Power Normalized Rendering

Shaded & Power Normalized Rendering
AGG-Filter

AGG-Filter

AGG-Filter
Benutzerdefinierte Schummerung in einem 3D-Oberflächendiagramm

Benutzerdefinierte Schummerung in einem 3D-Oberflächendiagramm

Benutzerdefinierte Schummerung in einem 3D-Oberflächendiagramm
Schummerung

Schummerung

Schummerung
Topografische Schummerung

Topografische Schummerung

Topografische Schummerung