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] -
Основы:
objectСоздаёт источник света, исходящий из указанного азимута и угла возвышения. Углы задаются в градусах, при этом азимут измеряется по часовой стрелке от севера, а возвышение — вверх от нулевой плоскости поверхности.
Функция
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 могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если в
shade()илиshade_rgb()будет передан параметр "blend_mode='hsv'". См. документацию для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 -
Максимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 1.
-
hsv_min_sat : number, optional -
Минимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 0.
-
hsv_max_val : number, optional -
Максимальное значение «v» (в «hsv»), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 1.
- hsv_min_val: число, необязательно
-
Минимальное значение «v» (в «hsv»), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 0.
Возвращает: -
rgb : ndarray -
Массив MxNx3 RGB, представляющий объединённые изображения.
-
-
blend_overlay(rgb, intensity)[source] -
Объединяет изображение rgb с картой интенсивности, используя метод «перекрытия».
Параметры: -
rgb : ndarray -
Массив MxNx3 RGB с плавающей точкой от 0 до 1 (цветное изображение).
-
intensity : ndarray -
Массив MxNx1 с плавающей точкой от 0 до 1 (изображение в оттенках серого).
Возвращает: -
rgb : ndarray -
Массив MxNx3 RGB, представляющий объединённые изображения.
-
-
blend_soft_light(rgb, intensity)[source] -
Объединяет изображение 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)[source] -
Вычисляет интенсивность освещения поверхности, используя заданный азимут и угол возвышения источника света.
Вычисляет векторы нормали для поверхности и затем передаёт их в
shade_normalsПараметры: -
elevation : array-like -
Двумерный массив (или эквивалент) значений высоты, используемых для генерации карты освещённости.
-
vert_exag : number, optional -
Величина, на которую следует увеличить значения высоты при вычислении освещённости. Это может быть использовано либо для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров), либо для усиления или ослабления топографических эффектов.
-
dx : number, optional -
Шаг по оси x (столбцы) входной сетки высоты.
-
dy : number, optional -
Шаг по оси y (строки) входной сетки высоты.
-
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" выглядят визуально более реалистично. Если предоставлена пользовательская функция, ожидается, что она будет объединять массив RGB MxNx3 с плавающей запятой (диапазон от 0 до 1) с массивом hillshade MxNx1 (также от 0 до 1). (Вызов
func(rgb, illum, **kwargs)). Дополнительные аргументы 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). Обратите внимание, что это не визуально и не математически то же самое, что и вертикальное преувеличение.
- Дополнительные kwargs передаются функции *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 -
Массив RGB MxNx3, предполагается, что значения находятся в диапазоне от 0 до 1.
-
elevation : array-like -
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
-
fraction : number -
Усиливает или ослабляет контраст hillshade. Значения, большие единицы, приблизят промежуточные значения к полному освещению или тени (и обрежут любые значения, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и не математически то же самое, что и вертикальное преувеличение.
-
blend_mode : {'hsv', 'overlay', 'soft'} or callable, optional -
Тип смешивания для объединения значений, отображаемых с помощью цветовой карты, со значениями интенсивности освещения. Для обратной совместимости по умолчанию "hsv". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят визуально более реалистично. Если предоставлена пользовательская функция, ожидается, что она будет объединять массив RGB MxNx3 с плавающей запятой (диапазон от 0 до 1) с массивом hillshade MxNx1 (также от 0 до 1). (Вызов
func(rgb, illum, **kwargs)). Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode. -
vert_exag : number, optional -
Коэффициент преувеличения значений высоты при расчёте освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или снижения значимости топографии.
-
dx : number, optional -
Шаг по оси x (столбцы) входной сетки elevation.
-
dy : number, optional -
Шаг по оси y (строки) входной сетки elevation.
- Дополнительные kwargs передаются функции *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/3.0.0/api/_as_gen/matplotlib.colors.LightSource.html