Spec-Zone.ru › Matplotlib

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, по умолчанию: 315 градусов (с северо-запада)

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

altdegfloat, по умолчанию: 45 градусов

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

hsv_min_valчисло, по умолчанию: 0

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

hsv_max_valчисло, по умолчанию: 1

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

hsv_min_satчисло, по умолчанию: 1

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

hsv_max_satчисло, по умолчанию: 0

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

Примечания

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

Параметры:
rgbndarray

Массив RGB (M, N, 3) с плавающей точкой, значения которого изменяются от 0 до 1 (цветное изображение).

intensityndarray

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

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

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

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

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

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

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

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

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

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

Массив RGB (M, N, 3), представляющий объединенные изображения.

blend_overlay(rgb, intensity)[source]

Объединение изображения RGB с картой интенсивности с использованием наложения.

Параметры:
rgbndarray

Массив RGB (M, N, 3) с плавающей точкой, значения которого изменяются от 0 до 1 (цветное изображение).

intensityndarray

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

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

Массив RGB (M, N, 3), представляющий объединенные изображения.

blend_soft_light(rgb, intensity)[source]

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

Параметры:
rgbndarray

Массив RGB (M, N, 3) с плавающей точкой, значения которого изменяются от 0 до 1 (цветное изображение).

intensityndarray

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

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

Массив RGB (M, N, 3), представляющий объединенные изображения.

propertydirection

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

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

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

Эта функция вычисляет нормальные векторы поверхности и передает их функции shade_normals.

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

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

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

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

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

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

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

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

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

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

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

2D массив значений освещенности от 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').

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

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

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

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

Дополнительные аргументы kwargs передаются функции blend_mode.

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

Массив (M, N, 4) с плавающей запятой, значения которого лежат в диапазоне от 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.

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

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

elevationarray-like

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

fractionчисло

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

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

Тип смешивания, используемый для объединения значений цветовой карты с интенсивностью освещения. Для совместимости с предыдущими версиями по умолчанию используется "hsv". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят более реалистично. Если предоставлена пользовательская функция, ожидается, что она объединит массив RGB (M, N, 3) чисел с плавающей точкой (диапазон от 0 до 1) с массивом затенённых участков (M, N, 1) (также от 0 до 1). (Подпись вызова функции func(rgb, illum, **kwargs)) Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode.

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

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

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

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

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

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

**kwargs

Дополнительные аргументы kwargs передаются функции blend_mode.

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

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

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

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

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

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

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

Фильтр AGG

Фильтр AGG

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

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

Затенение

Затенение

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

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

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

Spec-Zone.ru

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