matplotlib.colors.LightSource #

matplotlib.colors。光源( azdeg = 315 , altdeg = 45 , hsv_min_val = 0 , hsv_max_val = 1 , hsv_min_sat = 1 , hsv_max_sat = 0 ) [来源] #

基地:object

创建来自指定方位角和仰角的光源。角度以度为单位,方位角从北顺时针测量,仰角从表面的零平面向上测量。

shade用于为数据数组生成“阴影”rgb 值。 shade_rgb可用于将 rgb 图像与高程图相结合。 hillshade产生一个表面的照明图。

以度为单位指定光源的方位角(从南顺时针测量)和高度(从表面平面向上测量)。

参数
azdeg float,默认:315 度(从西北方向)

光源的方位角(0-360,从北顺时针方向)。

altdeg浮点数,默认:45 度

光源的高度(0-90,水平向上的度数)。

笔记

为了向后兼容,参数hsv_min_valhsv_max_valhsv_min_sathsv_max_sat也可以在初始化时提供。shade但是,只有将“blend_mode='hsv'”传递给or时才会使用这些参数shade_rgb。有关更多详细信息,请参阅文档blend_hsv

blend_hsv ( rgb ,强度, hsv_max_sat = None , hsv_max_val = None , hsv_min_val = None , hsv_min_sat = None ) [来源] #

获取输入数据数组,转换为给定颜色图中的 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(彩色图像)。

强度矩阵

一个 MxNx1 浮点数组,范围从 0 到 1(灰度图像)。

hsv_max_sat数字,默认值:1

强度图可以将输出图像移动到的最大饱和度值。

hsv_min_sat数字,可选

强度图可以将输出图像移动到的最小饱和度值。默认为 0。

hsv_max_val数字,可选

强度图可以将输出图像移动到的最大值(“hsv”中的“v”) 。默认为 1。

hsv_min_val数字,可选

强度图可以将输出图像移动到的最小值(“hsv”中的“v”) 。默认为 0。

返回
数组

表示组合图像的 MxNx3 RGB 数组。

blend_overlay ( rgb ,强度) [来源] #

使用“叠加”混合将 RGB 图像与强度图相结合。

参数
rgb ndarray

一个 MxNx3 RGB 浮点数组,范围从 0 到 1(彩色图像)。

强度矩阵

一个 MxNx1 浮点数组,范围从 0 到 1(灰度图像)。

返回
数组

表示组合图像的 MxNx3 RGB 数组。

blend_soft_light ( rgb ,强度) [来源] #

使用“pegtop”公式,使用“柔光”混合将 rgb 图像与强度图相结合。

参数
rgb ndarray

一个 MxNx3 RGB 浮点数组,范围从 0 到 1(彩色图像)。

强度矩阵

一个 MxNx1 浮点数组,范围从 0 到 1(灰度图像)。

返回
数组

表示组合图像的 MxNx3 RGB 数组。

物业 方向#

朝向光源的单位矢量方向。

山体阴影(海拔, vert_exag = 1 , dx = 1 , dy = 1 , fraction = 1.0 ) [来源] #

使用定义的光源方位角和仰角计算表面的照明强度。

这会计算表面的法线向量,然后将它们传递给shade_normals

参数
程二维数组

用于生成光照贴图的高度值

vert_exag数字,可选

计算光照时夸大高程值的量。这可以用于校正 xy 坐标系和高程坐标系之间的单位差异(例如十进制度与米),或者夸大或淡化地形影响。

dx号码,可选

输入高程网格的 x 间距(列) 。

dy号,可选

输入高程网格的 y 间距(行) 。

分数号,可选

增加或减少山体阴影的对比度。大于 1 的值将导致中间值更接近完全照明或阴影(并剪裁任何超出 0 或 1 的值)。请注意,这在视觉上或数学上与垂直夸张不同。

返回
数组

照明值在 0-1 之间的二维数组,其中 0 完全处于阴影中,而 1 完全被照亮。

阴影(数据, cmap , norm = None , blend_mode = 'overlay' , vmin = None , vmax = None , vert_exag = 1 , dx = 1 , dy = 1 , fraction = 1 , ** kwargs ) [来源] #

将颜色映射数据值与值的照明强度图(又名“山体阴影”)相结合。

参数
数据二维数组

用于生成着色贴图的高度值。

地图Colormap

用于为数据数组着色的颜色图。请注意,这必须是一个Colormap实例。例如,不要传入 ,而是cmap='gist_earth'使用 cmap=plt.get_cmap('gist_earth')

规范Normalize实例,可选

用于在颜色映射之前缩放值的标准化。如果没有,输入将在其最小值和最大值之间线性缩放。

blend_mode {'hsv', 'overlay', 'soft'} 或可调用,可选

用于将颜色映射数据值与照明强度相结合的混合类型。默认为“覆盖”。请注意,对于大多数地形表面,“覆盖”或“软”看起来更逼真。如果提供了用户定义的函数,则预期将 MxNx3 RGB 浮点数组(范围为 0 到 1)与 MxNx1 山体阴影数组(也是 0 到 1)组合。(调用签名 )提供给此函数的其他 kwarg 将传递给blend_mode 函数。func(rgb, illum, **kwargs)

vmin浮点数或无,可选

颜色映射数据中使用的最小值。如果None使用数据中的最小值。如果指定了norm,则此参数将被忽略。

vmax浮点数或无,可选

颜色映射数据中使用的最大值。如果None使用数据中的最大值。如果指定了norm,则此参数将被忽略。

vert_exag数字,可选

计算光照时夸大高程值的量。这可用于校正 xy 坐标系和高程坐标系之间的单位差异(例如十进制度与米)或夸大或不强调地形。

dx号码,可选

输入高程网格的 x 间距(列) 。

dy号,可选

输入高程网格的 y 间距(行) 。

分数号,可选

增加或减少山体阴影的对比度。大于 1 的值将导致中间值更接近完全照明或阴影(并剪裁任何超出 0 或 1 的值)。请注意,这在视觉上或数学上与垂直夸张不同。

额外的 kwargs 被传递给 *blend_mode* 函数。
返回
数组

一个 MxNx4 浮点数组,范围在 0-1 之间。

shade_normals ( normals , fraction = 1.0 ) [来源] #

使用定义的光源方位角和仰角计算表面法线向量的照明强度。

想象一个人造太阳放置在无限远的某个方位角和仰角位置,照亮我们的表面。朝向太阳倾斜的表面部分应该变亮,而背向太阳的那部分应该变暗。

参数
分数号,可选

增加或减少山体阴影的对比度。大于 1 的值将导致中间值更接近完全照明或阴影(并剪裁任何超出 0 或 1 的值)。请注意,这在视觉上或数学上与垂直夸张不同。

返回
数组

照明值在 0-1 之间的二维数组,其中 0 完全处于阴影中,而 1 完全被照亮。

shade_rgb ( rgb ,高程, fraction = 1.0 , blend_mode = 'hsv' , vert_exag = 1 , dx = 1 , dy = 1 , ** kwargs ) [来源] #

使用此光源调整rgb输入数组的颜色,以给出具有给定高度的阴影地形图的印象。

参数
rgb类数组

一个 (M, N, 3) RGB 数组,假设在 0 到 1 的范围内。

高程阵列状

用于生成着色贴图的高度值的 (M, N) 数组。

分数_

增加或减少山体阴影的对比度。大于 1 的值将导致中间值更接近完全照明或阴影(并剪裁任何超出 0 或 1 的值)。请注意,这在视觉上或数学上与垂直夸张不同。

blend_mode {'hsv', 'overlay', 'soft'} 或可调用,可选

用于将颜色映射数据值与照明强度相结合的混合类型。为了向后兼容,默认为“hsv”。请注意,对于大多数地形表面,“覆盖”或“软”看起来更逼真。如果提供了用户定义的函数,则预期将 MxNx3 RGB 浮点数组(范围为 0 到 1)与 MxNx1 山体阴影数组(也是 0 到 1)组合。(调用签名 )提供给此函数的其他 kwarg 将传递给blend_mode函数。func(rgb, illum, **kwargs)

vert_exag数字,可选

计算光照时夸大高程值的量。这可用于校正 xy 坐标系和高程坐标系之间的单位差异(例如十进制度与米)或夸大或不强调地形。

dx号码,可选

输入高程网格的 x 间距(列) 。

dy号,可选

输入高程网格的 y 间距(行) 。

额外的 kwargs 被传递给 *blend_mode* 函数。
返回
数组

一个 (m, n, 3) 浮点数数组,范围在 0-1 之间。

使用#的示例matplotlib.colors.LightSource

着色示例

着色示例

着色示例
着色和功率归一化渲染

着色和功率归一化渲染

着色和功率归一化渲染
AGG 过滤器

AGG 过滤器

AGG 过滤器
3D 曲面图中的自定义山体阴影

3D 曲面图中的自定义山体阴影

3D 曲面图中的自定义山体阴影
山体阴影

山体阴影

山体阴影
地形山体阴影

地形山体阴影

地形山体阴影