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