Spec-Zone.ru › Matplotlib

matplotlib.colors.LightSource

classmatplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[исходный код]

Базовые классы: object

Создаёт источник света, расположенный под указанными азимутом и углом возвышения. Углы задаются в градусах: азимут измеряется по часовой стрелке от севера, а угол возвышения — от нулевой плоскости поверхности вверх.

shade используется для получения «затенённых» значений RGB для массива данных. shade_rgb можно использовать для объединения изображения RGB с картой высот. hillshade создаёт карту освещённости поверхности.

Укажите в градусах азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света.

Параметры:
azdegчисло с плавающей точкой, по умолчанию: 315 градусов (с северо-запада)

Азимут источника света (0–360 градусов по часовой стрелке от севера).

altdegчисло с плавающей точкой, по умолчанию: 45 градусов

Высота источника света (0–90 градусов над горизонтом).

hsv_min_valчисло, по умолчанию: 0

Минимальное значение («v» в «hsv»), до которого карта интенсивности может изменить выходное изображение.

hsv_max_valчисло, по умолчанию: 1

Максимальное значение («v» в «hsv»), до которого карта интенсивности может изменить выходное изображение.

hsv_min_satчисло, по умолчанию: 1

Минимальное значение насыщенности, до которого карта интенсивности может изменить выходное изображение.

hsv_max_satчисло, по умолчанию: 0

Максимальное значение насыщенности, до которого карта интенсивности может изменить выходное изображение.

Примечания

Для обратной совместимости параметры 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)[исходный код]

Принимает входной массив данных, преобразует его в значения 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

Массив RGB размера (M, N, 3) с числами с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив размера (M, N, 1) с числами с плавающей точкой от 0 до 1 (изображение в градациях серого).

hsv_max_satчисло, необязательный

Максимальное значение насыщенности, до которого карта интенсивности может изменить выходное изображение. Если не задано, используется значение, указанное при инициализации.

hsv_min_satчисло, необязательный

Минимальное значение насыщенности, до которого карта интенсивности может изменить выходное изображение. Если не задано, используется значение, указанное при инициализации.

hsv_max_valчисло, необязательный

Максимальное значение («v» в «hsv»), до которого карта интенсивности может изменить выходное изображение. Если не задано, используется значение, указанное при инициализации.

hsv_min_valчисло, необязательный

Минимальное значение («v» в «hsv»), до которого карта интенсивности может изменить выходное изображение. Если не задано, используется значение, указанное при инициализации.

Возвращает:
ndarray

Массив RGB размера (M, N, 3), представляющий объединённые изображения.

blend_overlay(rgb, intensity)[исходный код]

Объединяет изображение RGB с картой интенсивности, используя смешивание в режиме «overlay».

Параметры:
rgbndarray

Массив RGB размера (M, N, 3) с числами с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив размера (M, N, 1) с числами с плавающей точкой от 0 до 1 (изображение в градациях серого).

Возвращает:
ndarray

Массив RGB размера (M, N, 3), представляющий объединённые изображения.

blend_soft_light(rgb, intensity)[исходный код]

Объединяет изображение RGB с картой интенсивности, используя смешивание в режиме «soft light» по формуле «pegtop».

Параметры:
rgbndarray

Массив RGB размера (M, N, 3) с числами с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив размера (M, N, 1) с числами с плавающей точкой от 0 до 1 (изображение в градациях серого).

Возвращает:
ndarray

Массив RGB размера (M, N, 3), представляющий объединённые изображения.

propertydirection

Единичный вектор направления на источник света.

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, будут ограничены). Обратите внимание, что визуально и математически это не то же самое, что вертикальное преувеличение.

Возвращает:
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)[исходный код]

Объединяет значения данных, преобразованные с помощью цветовой карты, с картой интенсивности освещения (также называемой «рельефным затенением») этих значений.

Параметры:
dataдвумерный массив или аналогичный объект

Значения высот, используемые для создания затенённой карты.

cmapColormap

Цветовая карта, используемая для раскрашивания массива data. Обратите внимание, что это должен быть экземпляр Colormap. Например, вместо передачи cmap='gist_earth' используйте cmap=plt.get_cmap('gist_earth').

normэкземпляр Normalize, необязательный

Нормализация, используемая для масштабирования значений перед применением цветовой карты. Если значение равно None, входные данные линейно масштабируются между минимумом и максимумом.

blend_mode{'hsv', 'overlay', 'soft'} или вызываемый объект, необязательный

Тип смешивания, используемый для объединения значений данных, преобразованных с помощью цветовой карты, с интенсивностью освещения. По умолчанию используется "overlay". Обратите внимание, что для большинства топографических поверхностей режимы "overlay" или "soft" выглядят реалистичнее. Если передана пользовательская функция, она должна объединять массив RGB размера (M, N, 3) с числами с плавающей точкой (от 0 до 1) и массив рельефного затенения размера (M, N, 1) (также от 0 до 1). (Сигнатура вызова func(rgb, illum, **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число, необязательный

Увеличивает или уменьшает контраст рельефного затенения. При значениях больше единицы промежуточные значения будут смещаться ближе к полному освещению или тени (значения, выходящие за пределы 0 или 1, будут ограничены). Обратите внимание, что визуально и математически это не то же самое, что вертикальное преувеличение.

**kwargs

Дополнительные именованные аргументы передаются функции blend_mode.

Возвращает:
ndarray

Массив размера (M, N, 4) с числами с плавающей точкой от 0 до 1.

shade_normals(normals, fraction=1.0)[исходный код]

Вычисляет интенсивность освещения для векторов нормали поверхности с учётом заданных азимута и высоты источника света.

Представьте, что искусственное солнце, расположенное в бесконечности под некоторыми азимутом и углом возвышения, освещает нашу поверхность. Участки поверхности, наклонённые к солнцу, должны становиться светлее, а обращённые от него — темнее.

Параметры:
fractionчисло, необязательный

Увеличивает или уменьшает контраст рельефного затенения. При значениях больше единицы промежуточные значения будут смещаться ближе к полному освещению или тени (значения, выходящие за пределы 0 или 1, будут ограничены). Обратите внимание, что визуально и математически это не то же самое, что вертикальное преувеличение.

Возвращает:
ndarray

Двумерный массив значений освещённости от 0 до 1, где 0 означает полную тень, а 1 — полное освещение.

shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs)[исходный код]

Использует этот источник света для корректировки цветов входного массива rgb, чтобы создать впечатление карты рельефа с затенением на основе заданной elevation.

Параметры:
rgbмассив или аналогичный объект

Массив RGB размера (M, N, 3), предполагается, что значения находятся в диапазоне от 0 до 1.

elevationмассив или аналогичный объект

Массив размера (M, N) со значениями высот, используемыми для создания затенённой карты.

fractionчисло

Увеличивает или уменьшает контраст рельефного затенения. При значениях больше единицы промежуточные значения будут смещаться ближе к полному освещению или тени (значения, выходящие за пределы 0 или 1, будут ограничены). Обратите внимание, что визуально и математически это не то же самое, что вертикальное преувеличение.

blend_mode{'hsv', 'overlay', 'soft'} или вызываемый объект, необязательный

Тип смешивания, используемый для объединения значений данных, преобразованных с помощью цветовой карты, с интенсивностью освещения. Для обратной совместимости по умолчанию используется "hsv". Обратите внимание, что для большинства топографических поверхностей режимы "overlay" или "soft" выглядят реалистичнее. Если передана пользовательская функция, она должна объединять массив RGB размера (M, N, 3) с числами с плавающей точкой (от 0 до 1) и массив рельефного затенения размера (M, N, 1) (также от 0 до 1). (Сигнатура вызова func(rgb, illum, **kwargs)) Дополнительные именованные аргументы, переданные этой функции, будут переданы функции blend_mode.

vert_exagчисло, необязательный

Коэффициент преувеличения значений высоты при вычислении освещения. Его можно использовать для коррекции различий в единицах измерения между системой координат x-y и системой координат высот (например, десятичные градусы и метры), а также для усиления или ослабления рельефа.

dxчисло, необязательный

Шаг по x (столбцы) входной сетки elevation.

dyчисло, необязательный

Шаг по y (строки) входной сетки elevation.

**kwargs

Дополнительные именованные аргументы передаются функции blend_mode.

Возвращает:
ndarray

Массив размера (m, n, 3) с числами с плавающей точкой от 0 до 1.

Примеры использования matplotlib.colors.LightSource

Пример затенения

Пример затенения

Фильтр AGG

Фильтр AGG

Пользовательское рельефное затенение на трёхмерном графике поверхности

Пользовательское рельефное затенение на трёхмерном графике поверхности

Затенённая визуализация с нормализацией по степенной функции

Затенённая визуализация с нормализацией по степенной функции

Рельефное затенение

Рельефное затенение

Топографическое рельефное затенение

Топографическое рельефное затенение

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.colors.LightSource.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API