Spec-Zone.ru › Matplotlib 3.8

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)[source]

Основы: object

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

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

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

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

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

altdegfloat, по умолчанию: 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)[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

Массив 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)[source]

Объединение изображения RGB с картой интенсивности с помощью смешивания «перекрытия».

Параметры:
rgbndarray

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

intensityndarray

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

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

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

blend_soft_light(rgb, intensity)[source]

Объединение изображения RGB с картой интенсивности с помощью смешивания «мягкий свет», используя формулу «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)[source]

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

Вычисляются векторы нормали к поверхности, которые затем передаются в shade_normals

Параметры:
elevation2D массив-подобный объект

Значения высот, используемые для генерации карты освещения

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

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

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

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

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

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

fractionчисло, необязательно

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

Возвращаемое значение:
ndarray

2D массив значений освещения в диапазоне 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]

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

Параметры:
data2D массив-подобный объект

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

cmapColormap

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

normNormalize экземпляр, необязательно

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

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

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

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

**kwargs

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

Возвращаемое значение:
ndarray

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

shade_normals(normals, fraction=1.0)[source]

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

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

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

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

Возвращаемое значение:
ndarray

2D массив значений освещения в диапазоне 0-1, где 0 соответствует полной тени, а 1 — полному освещению.

shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs)[source]

Используйте этот источник света, чтобы настроить цвета входного массива 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)) Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode.

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

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

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

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

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

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

**kwargs

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

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

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

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

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

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

Затенённое и нормализованное по мощности отображение

Затенённое и нормализованное по мощности отображение

Фильтр AGG

Фильтр AGG

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

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

Затенение

Затенение

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

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

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

Spec-Zone.ru

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