Spec-Zone.ru › Matplotlib 3.0

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]

Основы: object

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

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

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

Параметры:
azdeg : number, optional

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

altdeg : number, 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(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).

Параметры:
rgb : ndarray

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

intensity : ndarray

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

hsv_max_sat : number, optional

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

hsv_min_sat : number, optional

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

hsv_max_val : number, optional

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

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

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

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

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

blend_overlay(rgb, intensity) [source]

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

Параметры:
rgb : ndarray

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

intensity : ndarray

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

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

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

blend_soft_light(rgb, intensity) [source]

Объединяет изображение rgb с картой интенсивности, используя метод «мягкий свет». Использует формулу «пегтоп».

Параметры:
rgb : ndarray

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

intensity : ndarray

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

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

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

direction

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

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

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

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

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

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

vert_exag : number, optional

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

dx : number, optional

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

dy : number, optional

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

fraction : number, optional

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

Возвращает
-------
intensity : 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") значений.

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

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

cmap : Colormap instance

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

norm : Normalize 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.

vmin : scalar or None, optional

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

vmax : scalar or None, optional

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

vert_exag : number, optional

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

dx : number, optional

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

dy : number, optional

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

fraction : number, optional

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

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

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

shade_normals(normals, fraction=1.0) [source]

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

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

Параметры:
fraction : number, optional

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

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

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

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

Принимает входной массив RGB (ny*nx*3), изменяет его цветовые значения, чтобы создать впечатление карты затенённого рельефа с заданным источником света, используя высоту (ny*nx). Возвращается новый массив RGB (ny*nx*3).

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

Массив RGB MxNx3, предполагается, что значения находятся в диапазоне от 0 до 1.

elevation : array-like

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

fraction : number

Усиливает или ослабляет контраст 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_exag : number, optional

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

dx : number, optional

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

dy : number, optional

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

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

Массив MxNx3 с плавающей запятой, значения в диапазоне 0-1.

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

../../_images/sphx_glr_shading_example_thumb.png

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

../../_images/sphx_glr_mandelbrot_thumb.png

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

../../_images/sphx_glr_3D_thumb.png

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

../../_images/sphx_glr_demo_agg_filter_thumb.png

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

../../_images/sphx_glr_custom_shaded_3d_surface_thumb.png

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

../../_images/sphx_glr_advanced_hillshading_thumb.png

Затенение

../../_images/sphx_glr_topographic_hillshading_thumb.png

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

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

Spec-Zone.ru

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