matplotlib.colors.LightSource #

classe matplotlib.colors. LightSource ( azdeg = 315 , altdeg = 45 , hsv_min_val = 0 , hsv_max_val = 1 , hsv_min_sat = 1 , hsv_max_sat = 0 ) [fonte] #

Bases:object

Crie uma fonte de luz proveniente do azimute e elevação especificados. Os ângulos estão em graus, com o azimute medido no sentido horário a partir do norte e a elevação a partir do plano zero da superfície.

shadeé usado para produzir valores rgb "sombreados" para uma matriz de dados. shade_rgbpode ser usado para combinar uma imagem rgb com um mapa de elevação. hillshadeproduz um mapa de iluminação de uma superfície.

Especifique o azimute (medido no sentido horário a partir do sul) e a altitude (medida a partir do plano da superfície) da fonte de luz em graus.

Parâmetros :
flutuação azdeg , padrão: 315 graus (do noroeste)

O azimute (0-360, graus no sentido horário do norte) da fonte de luz.

Altdeg float, padrão: 45 graus

A altitude (0-90, graus acima da horizontal) da fonte de luz.

Notas

Para compatibilidade com versões anteriores, os parâmetros hsv_min_val , hsv_max_val , hsv_min_sat e hsv_max_sat também podem ser fornecidos na inicialização. No entanto, esses parâmetros só serão usados ​​se "blend_mode='hsv'" for passado para shadeou shade_rgb. Consulte a documentação para blend_hsvobter mais detalhes.

blend_hsv ( rgb , intensidade , hsv_max_sat = Nenhum , hsv_max_val = Nenhum , hsv_min_val = Nenhum , hsv_min_sat = Nenhum ) [fonte] #

Pegue a matriz de dados de entrada, converta em valores HSV no mapa de cores fornecido e ajuste esses valores de cores para dar a impressão de um mapa de relevo sombreado com uma fonte de luz especificada. Os valores RGBA são retornados, que podem ser usados ​​para plotar a imagem sombreada com imshow.

A cor da imagem resultante será escurecida movendo os valores (s, v) (no espaço de cores hsv) em direção a (hsv_min_sat, hsv_min_val) nas regiões sombreadas ou clareada deslizando (s, v) em direção a (hsv_max_sat, hsv_max_val) em regiões iluminadas. Os extremos padrão são escolhidos de modo que os pontos completamente sombreados sejam quase pretos (s = 1, v = 0) e os pontos completamente iluminados sejam quase brancos (s = 0, v = 1).

Parâmetros :
rgb ndarray

Uma matriz MxNx3 RGB de floats variando de 0 a 1 (imagem colorida).

intensidade ndarray

Uma matriz MxNx1 de flutuações variando de 0 a 1 (imagem em tons de cinza).

número hsv_max_sat , padrão: 1

O valor máximo de saturação para o qual o mapa de intensidade pode deslocar a imagem de saída.

número hsv_min_sat , opcional

O valor mínimo de saturação para o qual o mapa de intensidade pode deslocar a imagem de saída. O padrão é 0.

número hsv_max_val , opcional

O valor máximo ("v" em "hsv") para o qual o mapa de intensidade pode deslocar a imagem de saída. O padrão é 1.

número hsv_min_val , opcional

O valor mínimo ("v" em "hsv") para o qual o mapa de intensidade pode deslocar a imagem de saída. O padrão é 0.

Devoluções :
ndarray

Uma matriz MxNx3 RGB representando as imagens combinadas.

blend_overlay ( rgb , intensidade ) [fonte] #

Combine uma imagem rgb com um mapa de intensidade usando a mesclagem de "sobreposição".

Parâmetros :
rgb ndarray

Uma matriz MxNx3 RGB de floats variando de 0 a 1 (imagem colorida).

intensidade ndarray

Uma matriz MxNx1 de flutuações variando de 0 a 1 (imagem em tons de cinza).

Devoluções :
ndarray

Uma matriz MxNx3 RGB representando as imagens combinadas.

blend_soft_light ( rgb , intensidade ) [fonte] #

Combine uma imagem rgb com um mapa de intensidade usando a mistura de "luz suave", usando a fórmula "pegtop".

Parâmetros :
rgb ndarray

Uma matriz MxNx3 RGB de floats variando de 0 a 1 (imagem colorida).

intensidade ndarray

Uma matriz MxNx1 de flutuações variando de 0 a 1 (imagem em tons de cinza).

Devoluções :
ndarray

Uma matriz MxNx3 RGB representando as imagens combinadas.

direção da propriedade #

A direção do vetor unitário em direção à fonte de luz.

sombreamento ( elevação , vert_exag = 1 , dx = 1 , dy = 1 , fração = 1,0 ) [fonte] #

Calcule a intensidade de iluminação para uma superfície usando o azimute e a elevação definidos para a fonte de luz.

Isso calcula os vetores normais para a superfície e os passa parashade_normals

Parâmetros :
elevação 2D tipo matriz

Os valores de altura usados ​​para gerar um mapa de iluminação

número vert_exag , opcional

A quantidade para exagerar os valores de elevação ao calcular a iluminação. Isso pode ser usado para corrigir as diferenças nas unidades entre o sistema de coordenadas xy e o sistema de coordenadas de elevação (por exemplo, graus decimais x metros) ou para exagerar ou enfatizar os efeitos topográficos.

número dx , opcional

O espaçamento x (colunas) da grade de elevação de entrada.

número dy , opcional

O espaçamento y (linhas) da grade de elevação de entrada.

número da fração , opcional

Aumenta ou diminui o contraste da sombra da colina. Valores maiores que um farão com que os valores intermediários se aproximem da iluminação total ou da sombra (e cortem quaisquer valores que se movam além de 0 ou 1). Observe que isso não é visualmente ou matematicamente o mesmo que exagero vertical.

Devoluções :
ndarray

Uma matriz 2D de valores de iluminação entre 0-1, onde 0 está completamente na sombra e 1 está completamente iluminado.

shade ( dados , cmap , norm = Nenhum , blend_mode = 'overlay' , vmin = Nenhum , vmax = Nenhum , vert_exag = 1 , dx = 1 , dy = 1 , fração = 1 , ** kwargs ) [source] #

Combine valores de dados mapeados em cores com um mapa de intensidade de iluminação (também conhecido como "sombra") dos valores.

Parâmetros :
dados 2D tipo array

Os valores de altura usados ​​para gerar um mapa sombreado.

cmapColormap

O mapa de cores usado para colorir a matriz de dados . Observe que isso deve ser uma Colormapinstância. Por exemplo, em vez de passar cmap='gist_earth', use cmap=plt.get_cmap('gist_earth').

instância da norma Normalize, opcional

A normalização usada para dimensionar valores antes do mapeamento de cores. Se Nenhum, a entrada será escalada linearmente entre seu mínimo e máximo.

blend_mode {'hsv', 'overlay', 'soft'} ou callable, opcional

O tipo de mesclagem usado para combinar os valores de dados mapeados de cores com a intensidade da iluminação. O padrão é "sobreposição". Observe que, para a maioria das superfícies topográficas, "overlay" ou "soft" parecem mais realistas visualmente. Se uma função definida pelo usuário for fornecida, espera-se combinar uma matriz MxNx3 RGB de floats (variando de 0 a 1) com uma matriz de sombreamento MxNx1 (também 0 a 1). (Assinatura de chamada ) kwargs adicionais fornecidos para esta função serão passados ​​para a função blend_mode .func(rgb, illum, **kwargs)

vmin float ou None, opcional

O valor mínimo usado em dados de mapeamento de cores . Se Nenhum , o valor mínimo em dados é usado. Se a norma for especificada, esse argumento será ignorado.

vmax float ou None, opcional

O valor máximo usado em dados de mapeamento de cores . Se Nenhum , o valor máximo em dados é usado. Se a norma for especificada, esse argumento será ignorado.

número vert_exag , opcional

A quantidade para exagerar os valores de elevação ao calcular a iluminação. Isso pode ser usado para corrigir diferenças em unidades entre o sistema de coordenadas xy e o sistema de coordenadas de elevação (por exemplo, graus decimais versus metros) ou para exagerar ou enfatizar a topografia.

número dx , opcional

O espaçamento x (colunas) da grade de elevação de entrada.

número dy , opcional

O espaçamento y (linhas) da grade de elevação de entrada.

número da fração , opcional

Aumenta ou diminui o contraste da sombra da colina. Valores maiores que um farão com que os valores intermediários se aproximem da iluminação total ou da sombra (e cortem quaisquer valores que se movam além de 0 ou 1). Observe que isso não é visualmente ou matematicamente o mesmo que exagero vertical.

Kwargs adicionais são passados ​​para a função *blend_mode*.
Devoluções :
ndarray

Uma matriz MxNx4 de floats variando entre 0-1.

shade_normals ( normais , fração = 1.0 ) [fonte] #

Calcule a intensidade de iluminação para os vetores normais de uma superfície usando o azimute e a elevação definidos para a fonte de luz.

Imagine um sol artificial colocado no infinito em alguma posição de azimute e elevação iluminando nossa superfície. As partes da superfície que se inclinam em direção ao sol devem ficar mais claras, enquanto os lados voltados para o lado oposto devem ficar mais escuros.

Parâmetros :
número da fração , opcional

Aumenta ou diminui o contraste da sombra da colina. Valores maiores que um farão com que os valores intermediários se aproximem da iluminação total ou da sombra (e cortem quaisquer valores que se movam além de 0 ou 1). Observe que isso não é visualmente ou matematicamente o mesmo que exagero vertical.

Devoluções :
ndarray

Uma matriz 2D de valores de iluminação entre 0-1, onde 0 está completamente na sombra e 1 está completamente iluminado.

shade_rgb ( rgb , elevação , fração = 1,0 , blend_mode = 'hsv' , vert_exag = 1 , dx = 1 , dy = 1 , ** kwargs ) [fonte] #

Use esta fonte de luz para ajustar as cores da matriz de entrada rgb para dar a impressão de um mapa de relevo sombreado com a elevação fornecida .

Parâmetros :
tipo array rgb

Uma matriz RGB (M, N, 3), considerada no intervalo de 0 a 1.

tipo matriz de elevação

Uma matriz (M, N) dos valores de altura usados ​​para gerar um mapa sombreado.

número da fração

Aumenta ou diminui o contraste da sombra da colina. Valores maiores que um farão com que os valores intermediários se aproximem da iluminação total ou da sombra (e cortem quaisquer valores que se movam além de 0 ou 1). Observe que isso não é visualmente ou matematicamente o mesmo que exagero vertical.

blend_mode {'hsv', 'overlay', 'soft'} ou callable, opcional

O tipo de mesclagem usado para combinar os valores de dados mapeados de cores com a intensidade da iluminação. Para compatibilidade com versões anteriores, o padrão é "hsv". Observe que, para a maioria das superfícies topográficas, "overlay" ou "soft" parecem mais realistas visualmente. Se uma função definida pelo usuário for fornecida, espera-se combinar uma matriz MxNx3 RGB de floats (variando de 0 a 1) com uma matriz de sombreamento MxNx1 (também 0 a 1). (Assinatura de chamada ) kwargs adicionais fornecidos para esta função serão passados ​​para a função blend_mode .func(rgb, illum, **kwargs)

número vert_exag , opcional

A quantidade para exagerar os valores de elevação ao calcular a iluminação. Isso pode ser usado para corrigir diferenças em unidades entre o sistema de coordenadas xy e o sistema de coordenadas de elevação (por exemplo, graus decimais versus metros) ou para exagerar ou enfatizar a topografia.

número dx , opcional

O espaçamento x (colunas) da grade de elevação de entrada.

número dy , opcional

O espaçamento y (linhas) da grade de elevação de entrada.

Kwargs adicionais são passados ​​para a função *blend_mode*.
Devoluções :
ndarray

Uma matriz (m, n, 3) de floats variando entre 0-1.

Exemplos usando matplotlib.colors.LightSource#

Exemplo de sombreamento

Exemplo de sombreamento

Exemplo de sombreamento
Renderização sombreada e com potência normalizada

Renderização sombreada e com potência normalizada

Renderização sombreada e com potência normalizada
filtro AGG

filtro AGG

filtro AGG
Hillshading personalizado em uma plotagem de superfície 3D

Hillshading personalizado em uma plotagem de superfície 3D

Hillshading personalizado em uma plotagem de superfície 3D
sombreamento

sombreamento

sombreamento
Sombreamento topográfico

Sombreamento topográfico

Sombreamento topográfico