matplotlib.colors.LightSource
-
class matplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[source] -
Bases:
objectСоздаёт источник света, исходящий из заданного азимута и зенита. Углы задаются в градусах, причём азимут измеряется по часовой стрелке от севера, а зенит — вверх от нулевой плоскости поверхности.
shadeиспользуется для создания «затенённых» значений rgb для массива данных.shade_rgbможно использовать для объединения цветового изображения с картой высот.hillshadeсоздаёт карту освещённости поверхности.Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.
Параметры: -
azdegfloat, default: 315 degrees (from the northwest) -
Азимут (0-360, градусы по часовой стрелке от севера) источника света.
-
altdegfloat, default: 45 degrees -
Высота (0-90, градусы вверх от горизонтали) источника света.
Примечания
Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat также могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если «blend_mode='hsv'» передаётся в
shadeилиshade_rgb. Дополнительные сведения см. в документации дляblend_hsv.-
__dict__ = mappingproxy({'__module__': 'matplotlib.colors', '__doc__': '\n Create a light source coming from the specified azimuth and elevation.\n Angles are in degrees, with the azimuth measured\n clockwise from north and elevation up from the zero plane of the surface.\n\n `shade` is used to produce "shaded" rgb values for a data array.\n `shade_rgb` can be used to combine an rgb image with an elevation map.\n `hillshade` produces an illumination map of a surface.\n ', '__init__': <function LightSource.__init__>, 'direction': <property object>, 'hillshade': <function LightSource.hillshade>, 'shade_normals': <function LightSource.shade_normals>, 'shade': <function LightSource.shade>, 'shade_rgb': <function LightSource.shade_rgb>, 'blend_hsv': <function LightSource.blend_hsv>, 'blend_soft_light': <function LightSource.blend_soft_light>, 'blend_overlay': <function LightSource.blend_overlay>, '__dict__': <attribute '__dict__' of 'LightSource' objects>, '__weakref__': <attribute '__weakref__' of 'LightSource' objects>})
-
__init__(self, azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[source] -
Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.
Параметры: -
azdegfloat, default: 315 degrees (from the northwest) -
Азимут (0-360, градусы по часовой стрелке от севера) источника света.
-
altdegfloat, default: 45 degrees -
Высота (0-90, градусы вверх от горизонтали) источника света.
Примечания
Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat также могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если «blend_mode='hsv'» передаётся в
shadeилиshade_rgb. Дополнительные сведения см. в документации дляblend_hsv. -
-
__module__ = 'matplotlib.colors'
-
__weakref__ -
список слабых ссылок на объект (если определён)
-
blend_hsv(self, rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None)[source] -
Принимает массив входных данных, преобразует его в значения HSV в заданной цветовой карте, затем корректирует эти цветовые значения, чтобы создать впечатление карты рельефа с затенением при заданном источнике света. Возвращаются значения RGBA, которые можно использовать для построения затенённого изображения с помощью imshow.
Цвет результирующего изображения будет затемнён, перемещая значения (s, v) (в цветовом пространстве hsv) к (hsv_min_sat, hsv_min_val) в затенённых областях, или осветлён, сдвигая (s, v) к (hsv_max_sat, hsv_max_val) в освещённых областях. По умолчанию используются крайние значения, чтобы полностью затенённые точки были почти чёрными (s = 1, v = 0), а полностью освещённые точки — почти белыми (s = 0, v = 1).
Параметры: -
rgbndarray -
Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).
-
intensityndarray -
Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).
-
hsv_max_satnumber, default: 1 -
Максимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение.
-
hsv_min_satnumber, optional -
Минимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 0.
-
hsv_max_valnumber, optional -
Максимальное значение (v в "hsv"), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 1.
-
hsv_min_valnumber, optional -
Минимальное значение (v в "hsv"), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 0.
Возвращает: - ndarray
-
Массив MxNx3 RGB, представляющий объединённые изображения.
-
-
blend_overlay(self, rgb, intensity)[source] -
Объединяет цветовое изображение с картой интенсивности с использованием наложения.
Параметры: -
rgbndarray -
Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).
-
intensityndarray -
Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).
Возвращает: - ndarray
-
Массив MxNx3 RGB, представляющий объединённые изображения.
-
-
blend_soft_light(self, rgb, intensity)[source] -
Объединяет цветовое изображение с картой интенсивности с использованием «мягкого света» с использованием формулы «pegtop».
Параметры: -
rgbndarray -
Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).
-
intensityndarray -
Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).
Возвращает: - ndarray
-
Массив MxNx3 RGB, представляющий объединённые изображения.
-
-
property direction -
Вектор направления на источник света.
-
hillshade(self, elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source] -
Вычисляет интенсивность освещения поверхности, используя заданные азимут и зенит источника света.
Вычисляет нормальные векторы поверхности и затем передаёт их в
shade_normals.Параметры: -
elevationarray-like -
Двумерный массив (или эквивалент) значений высот, используемых для создания карты освещённости
-
vert_exagnumber, optional -
Коэффициент усиления значений высот при вычислении освещения. Может использоваться для компенсации различий в единицах между системой координат x-y и системой координат высот (например, десятичные градусы против метров) или для усиления или ослабления топографических эффектов.
-
dxnumber, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dynumber, optional -
Шаг по оси y (строки) входной сетки elevation.
-
fractionnumber, optional -
Увеличивает или уменьшает контраст карты освещения. Значения, большие чем один, заставят промежуточные значения приблизиться к полному освещению или тени (и обрезать любые значения, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что вертикальное преувеличение.
Возвращает: - ndarray
-
Двумерный массив значений освещения от 0 до 1, где 0 соответствует полной тени, а 1 — полному освещению.
-
-
-
shade(self, data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs)[source] -
Объединить значения, сопоставленные с цветовой шкалой, с картой интенсивности освещения (также известной как «тенирование») значений.
Параметры: -
dataarray-like -
Двумерный массив (или эквивалент) значений высот, используемых для создания затенённой карты.
-
cmapColormap -
Цветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth'). -
normNormalize instance, optional -
Нормализация, используемая для масштабирования значений перед сопоставлением с цветовой шкалой. Если значение None, входные данные будут линейно масштабированы между своим минимумом и максимумом.
-
blend_mode{'hsv', 'overlay', 'soft'} or callable, optional -
Тип смешивания, используемого для объединения значений, сопоставленных с цветовой шкалой, со значениями интенсивности освещения. По умолчанию — «overlay». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично с визуальной точки зрения. Если пользователь предоставляет функцию, ожидается, что она будет объединять массив MxNx3 RGB с плавающей точкой (от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные ключевые аргументы, предоставленные этой функции, будут переданы функции blend_mode. -
vminfloat or None, optional -
Минимальное значение, используемое при сопоставлении data с цветовой шкалой. Если None, используется минимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
-
vmaxfloat or None, optional -
Максимальное значение, используемое при сопоставлении data с цветовой шкалой. Если None, используется максимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
-
vert_exagnumber, optional -
Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или ослабления топографии.
-
dxnumber, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dynumber, optional -
Шаг по оси y (строки) входной сетки elevation.
-
fractionnumber, optional -
Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.
- Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает: - ndarray
-
Массив MxNx4 с плавающей точкой, значения которого находятся в диапазоне от 0 до 1.
-
-
shade_normals(self, normals, fraction=1.0)[source] -
Вычислить интенсивность освещения для нормалей поверхности, используя заданные азимут и высоту для источника света.
Представьте себе искусственное солнце, расположенное в бесконечности под определенным азимутом и высотой, освещающее нашу поверхность. Части поверхности, наклоненные к солнцу, должны становиться светлее, в то время как части, обращенные от солнца, должны становиться темнее.
Параметры: -
fractionnumber, optional -
Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.
Возвращает: - ndarray
-
Двумерный массив значений освещения в диапазоне от 0 до 1, где 0 — полная тень, а 1 — полное освещение.
-
-
shade_rgb(self, rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs)[source] -
Используйте этот источник света для изменения цветов входного массива rgb, чтобы создать впечатление карты с затенённым рельефом с заданной elevation.
Параметры: -
rgbarray-like -
Массив RGB (M, N, 3), предполагаемый в диапазоне от 0 до 1.
-
elevationarray-like -
Массив (M, N) значений высот, используемых для создания затенённой карты.
-
fractionnumber -
Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.
-
blend_mode{'hsv', 'overlay', 'soft'} or callable, optional -
Тип смешивания, используемого для объединения значений, сопоставленных с цветовой шкалой, со значениями интенсивности освещения. Для совместимости со старыми версиями по умолчанию используется «hsv». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично с визуальной точки зрения. Если пользователь предоставляет функцию, ожидается, что она будет объединять массив MxNx3 RGB с плавающей точкой (от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные ключевые аргументы, предоставленные этой функции, будут переданы функции blend_mode. -
vert_exagnumber, optional -
Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или ослабления топографии.
-
dxnumber, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dynumber, optional -
Шаг по оси y (строки) входной сетки elevation.
- Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает: - ndarray
-
Массив (m, n, 3) с плавающей точкой, значения которого находятся в диапазоне от 0 до 1.
-
-
Примеры использования matplotlib.colors.LightSource
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.colors.LightSource.html