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, default: 315 degrees (from the northwest)
-
Азимут (0-360, градусов по часовой стрелке от севера) источника света.
- altdegfloat, default: 45 degrees
-
Высота (0-90, градусов вверх от горизонта) источника света.
Примечания
Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat могут быть также указаны при инициализации. Однако эти параметры будут использоваться только в том случае, если "blend_mode='hsv'" передается в
shadeилиshade_rgb. См. документацию для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
-
MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).
- hsv_max_satnumber, default: 1
-
Максимальное значение насыщенности, к которому карта intensity может сдвинуть выходное изображение.
- hsv_min_satnumber, optional
-
Минимальное значение насыщенности, к которому карта intensity может сдвинуть выходное изображение. По умолчанию 0.
- hsv_max_valnumber, optional
-
Максимальное значение ("v" в "hsv"), к которому карта intensity может сдвинуть выходное изображение. По умолчанию 1.
- hsv_min_valnumber, optional
-
Минимальное значение ("v" в "hsv"), к которому карта intensity может сдвинуть выходное изображение. По умолчанию 0.
- Возвращает:
-
- ndarray
-
MxNx3 массив RGB, представляющий объединенные изображения.
- blend_overlay(rgb, intensity)[source]
-
Объединяет изображение rgb с картой интенсивности, используя "overlay" смешивание.
- Параметры:
-
- rgbndarray
-
MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).
- Возвращает:
-
- ndarray
-
MxNx3 массив RGB, представляющий объединенные изображения.
- blend_soft_light(rgb, intensity)[source]
-
Объединяет изображение rgb с картой интенсивности, используя "soft light" смешивание, используя формулу "pegtop".
- Параметры:
-
- rgbndarray
-
MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (оттенки серого).
- Возвращает:
-
- ndarray
-
MxNx3 массив RGB, представляющий объединенные изображения.
- propertydirection
-
Вектор единичной длины направления к источнику света.
- hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source]
-
Вычисляет интенсивность освещения поверхности, используя заданные азимут и высоту для источника света.
Это вычисляет нормальные векторы для поверхности, а затем передает их в
shade_normals- Параметры:
-
- elevation2D array-like
-
Значения высоты, используемые для генерации карты освещения
- vert_exagnumber, optional
-
Величина преувеличения значений высоты при вычислении освещения. Это может использоваться либо для коррекции различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров), либо для преувеличения или уменьшения топографических эффектов.
- dxnumber, optional
-
X-промежуток (столбцы) входной сетки elevation.
- dynumber, optional
-
Y-промежуток (строки) входной сетки elevation.
- fractionnumber, optional
-
Увеличивает или уменьшает контраст hillshade. Значения больше единицы приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что и вертикальное преувеличение.
- Возвращает:
-
- 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]
-
Объединение значений данных, отображаемых с помощью цветовой карты, с картой интенсивности освещения (также известной как "тени") значений.
- Параметры:
-
- data2D массив-подобный объект
-
Значения высот, используемые для создания затенённой карты.
-
cmap
Colormap -
Цветовая карта, используемая для окрашивания массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth'). -
normэкземпляр
Normalize, необязательно -
Нормализация, используемая для масштабирования значений перед отображением с помощью цветовой карты. Если None, входные данные будут линейно масштабированы между их минимальным и максимальным значениями.
- blend_mode{'hsv', 'overlay', 'soft'} или вызываемая функция, необязательно
-
Тип смешивания, используемый для объединения значений данных, отображаемых с помощью цветовой карты, с интенсивностью освещения. По умолчанию "overlay". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят визуально более реалистично. Если передана пользовательская функция, ожидается, что она будет объединять массив RGB MxNx3 с плавающей запятой (диапазон от 0 до 1) с массивом MxNx1 затенения (также от 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 передаются функции *blend_mode*.
- Возвращаемое значение:
-
- ndarray
-
Массив MxNx4 с плавающей запятой, значения которого лежат в диапазоне 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.
- Параметры:
-
- rgbмассив-подобный объект
-
Массив RGB (M, N, 3), предполагается, что он находится в диапазоне от 0 до 1.
- elevationмассив-подобный объект
-
Массив (M, N) значений высоты, используемых для создания затенённой карты.
- fractionчисло
-
Усиливает или уменьшает контраст затенения. Значения, большие единицы, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и любые значения, которые выйдут за пределы 0 или 1, будут обрезаны). Обратите внимание, что это не визуально и не математически эквивалентно вертикальному преувеличению.
- blend_mode{'hsv', 'overlay', 'soft'} или вызываемая функция, необязательно
-
Тип смешивания, используемый для объединения значений данных, отображаемых с помощью цветовой карты, с интенсивностью освещения. Для обратной совместимости по умолчанию используется "hsv". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят визуально более реалистично. Если передана пользовательская функция, ожидается, что она будет объединять массив RGB MxNx3 с плавающей запятой (диапазон от 0 до 1) с массивом MxNx1 затенения (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode. - vert_exagчисло, необязательно
-
Значение, на которое преувеличиваются значения высоты при расчете освещения. Это можно использовать для компенсации различий в единицах между x-y системой координат и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или уменьшения топографии.
- dxчисло, необязательно
-
Шаг по оси x (столбцы) входной сетки elevation.
- dyчисло, необязательно
-
Шаг по оси y (строки) входной сетки elevation.
- Дополнительные аргументы kwargs передаются функции *blend_mode*.
- Возвращаемое значение:
-
- ndarray
-
Массив (m, n, 3) с плавающей запятой, значения которого лежат в диапазоне 0-1.
Примеры использования matplotlib.colors.LightSource
Затенённое и нормализованное по степени визуализацию
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.colors.LightSource.html