Spec-Zone.ru › Matplotlib 3.2

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]

Bases: object

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

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

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

Параметры:
azdegnumber, optional

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

altdegnumber, 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(self, 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, optional

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

hsv_min_satnumber, optional

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

hsv_max_valnumber, optional

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

hsv_min_valnumber, optional

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

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

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

blend_overlay(self, rgb, intensity) [source]

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

Параметры:
rgbndarray

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

intensityndarray

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

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

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

blend_soft_light(self, rgb, intensity) [source]

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

Параметры:
rgbndarray

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

intensityndarray

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

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

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

property direction

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

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

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

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

Параметры:
elevationarray-like

Двумерный массив (или эквивалент) значений высоты, используемых для создания карты освещённости.

vert_exagnumber, optional

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

dxnumber, optional

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

dynumber, optional

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

fractionnumber, optional

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

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

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

shade(self, data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs) [source]

Комбинирует значения данных с цветовой шкалой с картой интенсивности освещения (также известной как «hillshade») значений.

Параметры:
dataarray-like

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

cmapColormap instance

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

normNormalize 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.

vminscalar or None, optional

Минимальное значение, используемое при отображении цветов data. Если None, используется минимальное значение в data. Если указан norm, этот аргумент будет проигнорирован.

vmaxscalar or None, optional

Максимальное значение, используемое при отображении цветов data. Если None, используется максимальное значение в data. Если указан norm, этот аргумент будет проигнорирован.

vert_exagnumber, optional

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

dxnumber, optional

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

dynumber, optional

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

fractionnumber, optional

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

Дополнительные kwargs передаются функции *blend_mode*.
Возвращает:
rgbandarray

Массив MxNx4 с плавающей точкой в диапазоне от 0 до 1.

shade_normals(self, normals, fraction=1.0) [source]

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

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

Параметры:
fractionnumber, optional

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

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

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

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

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

Параметры:
rgbarray-like

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

elevationarray-like

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

fractionnumber

Увеличивает или уменьшает контраст 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_exagnumber, optional

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

dxnumber, optional

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

dynumber, optional

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

Дополнительные kwargs передаются функции *blend_mode*.
Возвращает:
shaded_rgbndarray

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

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

Shading example

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

Shaded & power normalized rendering

Затенение и нормализация по степеням

Frontpage 3D example

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

Demo Agg Filter

Демонстрация фильтра Agg

Custom hillshading in a 3D surface plot

Настройка затенения на 3D-поверхности

Hillshading

Затенение

Topographic hillshading

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

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

Spec-Zone.ru

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