Spec-Zone.ru › Matplotlib 3.6

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, default: 315 degrees (from the northwest)

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

altdegfloat, default: 45 degrees

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

Примечания

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

Параметры:
rgbndarray

MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).

intensityndarray

MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).

hsv_max_satnumber, default: 1

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

hsv_min_satnumber, optional

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

hsv_max_valnumber, optional

Максимальное значение ("v" в "hsv"), к которому карта intensity может сдвинуть выходное изображение. По умолчанию 1.

hsv_min_valnumber, optional

Минимальное значение ("v" в "hsv"), к которому карта intensity может сдвинуть выходное изображение. По умолчанию 0.

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

MxNx3 массив RGB, представляющий объединенные изображения.

blend_overlay(rgb, intensity)[source]

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

Параметры:
rgbndarray

MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).

intensityndarray

MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).

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

MxNx3 массив RGB, представляющий объединенные изображения.

blend_soft_light(rgb, intensity)[source]

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

Параметры:
rgbndarray

MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).

intensityndarray

MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).

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

MxNx3 массив RGB, представляющий объединенные изображения.

propertydirection

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

hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source]

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

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

Параметры:
elevation2D array-like

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

vert_exagnumber, optional

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

dxnumber, optional

X-промежуток (столбцы) входной сетки elevation.

dynumber, optional

Y-промежуток (строки) входной сетки elevation.

fractionnumber, optional

Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 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)[source]

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

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

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

cmapColormap

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

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

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

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

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

Массив MxNx4 с плавающей запятой, значения которого лежат в диапазоне 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 MxNx3 с плавающей запятой (диапазон от 0 до 1) с массивом MxNx1 затенения (также от 0 до 1). (Подпись вызова функции func(rgb, illum, **kwargs)) Дополнительные аргументы 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

Shading example

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

Пример затенения
Shaded & power normalized rendering

Затенённое и нормализованное по степени визуализацию

Затенённое и нормализованное по степени визуализацию
AGG filter

Фильтр AGG

Фильтр AGG
Custom hillshading in a 3D surface plot

Настраиваемое затенение на 3D графике поверхности

Настраиваемое затенение на 3D графике поверхности
Hillshading

Затенение

Затенение
Topographic hillshading

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

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

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

Spec-Zone.ru

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