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
© 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