Spec-Zone.ru › Matplotlib 3.5

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

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

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

Параметры
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

Затенённый и нормализованный рендеринг по степени

Frontpage 3D example

Пример 3D с главной страницы

AGG filter

Фильтр AGG

Custom hillshading in a 3D surface plot

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

Hillshading

Затенение

Topographic hillshading

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

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

Spec-Zone.ru

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