Spec-Zone.ru › Matplotlib 3.1

matplotlib.colors.ИсточникСвета

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() может использоваться для объединения изображения 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(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).

Параметры:
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 : number, optional

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

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

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

blend_overlay(self, rgb, intensity) [source]

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

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

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

intensity : ndarray

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

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

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

blend_soft_light(self, rgb, intensity) [source]

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

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

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

intensity : ndarray

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

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

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

direction

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

hillshade(self, 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 (столбцы) входной сетки elevation.

dy : number, optional

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

fraction : number, optional

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

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

Двумерный массив значений освещённости в диапазоне от 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") значений.

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

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

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

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

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

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

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

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

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

Двумерный массив значений освещения в диапазоне от 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.

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

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

elevation : array-like

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

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

vert_exag : number, optional

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

dx : number, optional

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

dy : number, optional

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

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

Массив (m, n, 3) с плавающей запятой, значения которого находятся в диапазоне от 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.1.1/api/_as_gen/matplotlib.colors.LightSource.html

Spec-Zone.ru

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