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) -
Создаёт источник света, исходящий из заданного азимута и углубления. Углы задаются в градусах, при этом азимут измеряется по часовой стрелке от северного направления, а углубление — вверх от нулевой плоскости поверхности.
Метод
shade()используется для создания «затенённых» значений rgb для массива данных.shade_rgb()может быть использован для объединения изображения rgb сshade_rgb(). Методhillshade()создаёт карту освещения поверхности.Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.
Параметры: azdeg : число, необязательно
Азимут (0-360, градусы по часовой стрелке от севера) источника света. По умолчанию 315 градусов (с северо-запада).
altdeg : число, необязательно
Высота (0-90, градусы от горизонтали) источника света. По умолчанию 45 градусов от горизонтали.
Примечания
Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если «blend_mode=’hsv’» будет передано в
shade()илиshade_rgb(). Подробности см. в документации дляblend_hsv().-
blend_hsv(rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None) -
Принимает массив входных данных, преобразует его в значения 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).
Параметры: rgb : ndarray
Массив MxNx3 RGB значений с плавающей точкой, значения от 0 до 1 (цветное изображение).
intensity : ndarray
Массив MxNx1 значений с плавающей точкой, значения от 0 до 1 (серое изображение).
hsv_max_sat : число, необязательно
Максимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение. По умолчанию 1.
hsv_min_sat : число, необязательно
Минимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение. По умолчанию 0.
hsv_max_val : число, необязательно
Максимальное значение «v» в «hsv», до которого карта intensity может сдвигать выходное изображение. По умолчанию 1.
hsv_min_val: число, необязательно
Минимальное значение «v» в «hsv», до которого карта intensity может сдвигать выходное изображение. По умолчанию 0.
Возвращает: rgb : ndarray
Массив MxNx3 RGB, представляющий объединённые изображения.
-
blend_overlay(rgb, intensity) -
Объединяет rgb-изображение с картой интенсивности, используя режим «наложение».
Параметры: rgb : ndarray
Массив MxNx3 RGB значений с плавающей точкой, значения от 0 до 1 (цветное изображение).
intensity : ndarray
Массив MxNx1 значений с плавающей точкой, значения от 0 до 1 (серое изображение).
Возвращает: rgb : ndarray
Массив MxNx3 RGB, представляющий объединённые изображения.
-
blend_soft_light(rgb, intensity) -
Объединяет rgb-изображение с картой интенсивности, используя режим «мягкий свет». Использует формулу «пегтоп».
Параметры: rgb : ndarray
Массив MxNx3 RGB значений с плавающей точкой, значения от 0 до 1 (цветное изображение).
intensity : ndarray
Массив MxNx1 значений с плавающей точкой, значения от 0 до 1 (серое изображение).
Возвращает: rgb : ndarray
Массив MxNx3 RGB, представляющий объединённые изображения.
-
direction -
Вектор направления на источник света
-
hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0) -
Вычисляет интенсивность освещения поверхности, используя заданные азимут и высоту источника света.
Вычисляет нормальные векторы поверхности и передаёт их в
shade_normals.Параметры: elevation : массив
Двумерный массив (или эквивалент) значений высот, используемых для создания карты освещения
vert_exag : число, необязательно
Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для компенсации различий в единицах между x-y координатной системой и координатной системой высот (например, десятичные градусы против метров) или для преувеличения или уменьшения топографических эффектов.
dx : число, необязательно
Шаг x (столбцы) входной сетки elevation.
dy : число, необязательно
Шаг y (строки) входной сетки elevation.
fraction : число, необязательно
Увеличивает или уменьшает контраст затенения. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что и вертикальное преувеличение.
Возвращает
——-
intensity : ndarray
Двумерный массив значений освещения от 0 до 1, где 0 — полная тень, а 1 — полное освещение.
-
-
shade(data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs) -
Комбинирует значения данных с цветовой шкалой с картой интенсивности освещения (также известной как «hillshade») значений.
Параметры: data : массив
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
cmap :
ColormapэкземплярЦветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth').norm :
Normalizeэкземпляр, необязательноНормализация, используемая для масштабирования значений перед применением цветовой шкалы. Если None, входные данные будут масштабированы линейно между их минимумом и максимумом.
blend_mode : {‘hsv’, ‘overlay’, ‘soft’} или вызываемая функция, необязательно
Тип смешения, используемый для объединения значений данных с цветовой шкалой с интенсивностью освещения. По умолчанию — “overlay”. Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично. Если предоставлена пользовательская функция, ожидается, что она объединит массив MxNx3 RGB float (в диапазоне от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Вызов функции
func(rgb, illum, **kwargs)) Дополнительные параметры kwargs, передаваемые этой функции, будут переданы функции blend_mode.vmin : скаляр или None, необязательно
Минимальное значение, используемое для применения цветовой шкалы к data. Если None, используется минимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
vmax : скаляр или None, необязательно
Максимальное значение, используемое для применения цветовой шкалы к data. Если None, используется максимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
vert_exag : число, необязательно
Коэффициент увеличения значений высоты при расчете освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или смягчения топографии.
dx : число, необязательно
Шаг по оси x (столбцы) входной сетки elevation.
dy : число, необязательно
Шаг по оси y (строки) входной сетки elevation.
fraction : число, необязательно
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что вертикальное преувеличение.
Дополнительные параметры kwargs передаются функции *blend_mode*.
Возвращает: rgba : ndarray
Массив MxNx4 float, находящихся в диапазоне от 0 до 1.
-
shade_normals(normals, fraction=1.0) -
Вычисляет интенсивность освещения для нормальных векторов поверхности, используя заданный азимут и высоту источника света.
Представьте себе искусственное солнце, помещенное в бесконечности в определенной позиции азимута и высоты, освещающее нашу поверхность. Части поверхности, наклоненные к солнцу, должны светлеть, а те, которые обращены в противоположную сторону, должны темнеть.
Параметры: fraction : число, необязательно
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что вертикальное преувеличение.
Возвращает: intensity : ndarray
Двумерный массив значений освещения в диапазоне от 0 до 1, где 0 соответствует полной тени, а 1 — полному освещению.
-
shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs) -
Принимает входной массив RGB (ny*nx*3), корректирует их цветовые значения, чтобы создать впечатление карты рельефа с затенением, используя высоту (ny*nx). Возвращается новый массив RGB ((ny*nx*3)).
Параметры: rgb : массив
Массив MxNx3 RGB, предполагается, что он находится в диапазоне от 0 до 1.
elevation : массив
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
fraction : число
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что вертикальное преувеличение.
blend_mode : {‘hsv’, ‘overlay’, ‘soft’} или вызываемая функция, необязательно
Тип смешения, используемый для объединения значений данных с цветовой шкалой с интенсивностью освещения. Для обратной совместимости по умолчанию используется “hsv”. Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично. Если предоставлена пользовательская функция, ожидается, что она объединит массив MxNx3 RGB float (в диапазоне от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Вызов функции
func(rgb, illum, **kwargs)) Дополнительные параметры kwargs, передаваемые этой функции, будут переданы функции blend_mode.vert_exag : число, необязательно
Коэффициент увеличения значений высоты при расчете освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или смягчения топографии.
dx : число, необязательно
Шаг по оси x (столбцы) входной сетки elevation.
dy : число, необязательно
Шаг по оси y (строки) входной сетки elevation.
Дополнительные параметры kwargs передаются функции *blend_mode*.
Возвращает: shaded_rgb : ndarray
Массив MxNx3 float, находящихся в диапазоне от 0 до 1.
-
Примеры использования matplotlib.colors.LightSource
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/_as_gen/matplotlib.colors.LightSource.html