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] -
Создайте источник света, исходящий из указанного азимута и высоты. Углы измеряются в градусах, при этом азимут измеряется по часовой стрелке от севера, а высота — вверх от нулевой плоскости поверхности.
Метод
shade()используется для создания «затененных» значений rgb для массива данных.shade_rgb()может использоваться для комбинирования изображения rgb с Методомshade_rgb()Методhillshade()создает карту освещения поверхности.Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.
Параметры: -
azdeg : number, optional -
Азимут (0-360, градусы по часовой стрелке от севера) источника света. По умолчанию — 315 градусов (с северо-запада).
-
altdeg : number, optional -
Высота (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)[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).
Параметры: -
rgb : ndarray -
MxNx3 массив RGB значений с плавающей точкой в диапазоне от 0 до 1 (цветное изображение).
-
intensity : ndarray -
MxNx1 массив значений с плавающей точкой в диапазоне от 0 до 1 (полутоновое изображение).
-
hsv_max_sat : number, optional -
Максимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение. По умолчанию — 1.
-
hsv_min_sat : number, optional -
Минимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение. По умолчанию — 0.
-
hsv_max_val : number, optional -
Максимальное значение ("v" в "hsv"), до которого карта intensity может сдвигать выходное изображение. По умолчанию — 1.
- hsv_min_val: число, необязательно
-
Минимальное значение ("v" в "hsv"), до которого карта intensity может сдвигать выходное изображение. По умолчанию — 0.
Возвращает: -
rgb : ndarray -
MxNx3 массив RGB значений, представляющий объединенные изображения.
-
-
blend_overlay(rgb, intensity)[source] -
Объединяет изображение rgb с картой интенсивности, используя наложение ("overlay").
Параметры: -
rgb : ndarray -
MxNx3 массив RGB значений с плавающей точкой в диапазоне от 0 до 1 (цветное изображение).
-
intensity : ndarray -
MxNx1 массив значений с плавающей точкой в диапазоне от 0 до 1 (полутоновое изображение).
Возвращает: -
rgb : ndarray -
MxNx3 массив RGB значений, представляющий объединенные изображения.
-
-
blend_soft_light(rgb, intensity)[source] -
Объединяет изображение rgb с картой интенсивности, используя мягкое освещение ("soft light"). Использует формулу "pegtop".
Параметры: -
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)[source] -
Вычисляет интенсивность освещения поверхности, используя заданный азимут и высоту для источника света.
Это вычисляет нормальные векторы для поверхности, а затем передает их в
shade_normalsПараметры: -
elevation : array-like -
Двумерный массив (или эквивалент) значений высоты, используемых для генерации карты освещения
-
vert_exag : number, optional -
Величина увеличения значений высоты при вычислении освещения. Это может быть использовано для корректировки различий в единицах измерения между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или уменьшения топографических эффектов.
-
dx : number, optional -
Шаг по x (столбцы) входной сетки elevation.
-
dy : number, optional -
Шаг по y (строки) входной сетки elevation.
-
fraction : number, optional -
Увеличивает или уменьшает контраст теней. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 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)[source] -
Объединяет значения данных с цветовой картой с картой освещенности (также известной как "hillshade") значений.
Параметры: -
data : array-like -
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
-
cmap : Colormap instance -
Цветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth'). -
norm : Normalize 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. -
vmin : scalar or None, optional -
Минимальное значение, используемое для задания цветовой карты data. Если None, используется минимальное значение в data. Если указан norm, этот аргумент будет проигнорирован.
-
vmax : scalar or None, optional -
Максимальное значение, используемое для задания цветовой карты data. Если None, используется максимальное значение в data. Если указан norm, этот аргумент будет проигнорирован.
-
vert_exag : number, optional -
Величина увеличения значений высоты при расчёте освещения. Это может быть использовано для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для увеличения или уменьшения выраженности топографии.
-
dx : number, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dy : number, optional -
Шаг по оси y (строки) входной сетки elevation.
-
fraction : number, optional -
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и отсекут любые значения, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что и вертикальное преувеличение.
- Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает: -
rgba : ndarray -
MxNx4 массив с плавающей точкой, значения которого лежат в диапазоне от 0 до 1.
-
-
shade_normals(normals, fraction=1.0)[source] -
Вычисляет интенсивность освещения для нормалей поверхности, используя заданные азимут и высоту для источника света.
Представьте себе искусственное солнце, расположенное на бесконечном расстоянии в определённом азимуте и высоте, освещающее нашу поверхность. Части поверхности, наклоненные к солнцу, должны стать светлее, а те стороны, которые обращены от него, - темнее.
Параметры: -
fraction : number, optional -
Увеличивает или уменьшает контраст 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)[source] -
Принимает на вход массив RGB (ny*nx*3), корректирует его значения цвета для создания впечатления от карты рельефа с затенением с заданным источником света, используя высоту (ny*nx). Возвращает новый массив RGB ((ny*nx*3)).
Параметры: -
rgb : array-like -
MxNx3 массив RGB, предполагается, что значения лежат в диапазоне от 0 до 1.
-
elevation : array-like -
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
-
fraction : number -
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и отсекут любые значения, которые выйдут за пределы 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_exag : number, optional -
Величина увеличения значений высоты при расчёте освещения. Это может быть использовано для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для увеличения или уменьшения выраженности топографии.
-
dx : number, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dy : number, optional -
Шаг по оси y (строки) входной сетки elevation.
- Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает: -
shaded_rgb : ndarray -
MxNx3 массив с плавающей точкой, значения которого лежат в диапазоне от 0 до 1.
-
-
Примеры использования matplotlib.colors.LightSource
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/_as_gen/matplotlib.colors.LightSource.html