Exibindo uma imagem em tons de cinza no matplotlib (com exemplo)
Você pode usar o argumento cmap no Matplotlib para exibir facilmente imagens em tons de cinza .
O exemplo a seguir mostra como usar esse argumento na prática.
Exemplo: exibir imagem em escala de cinza no Matplotlib
Digamos que eu tenha a seguinte imagem chamada shape.JPG que gostaria de exibir no Matplotlib:
Posso usar a seguinte sintaxe para exibir esta imagem usando as cores originais:
import numpy as np import matplotlib. pyplot as plt from PIL import Image image=Image. open (' shapes.JPG ') plt. imshow (image) plt. show ()
Observe que esta imagem corresponde perfeitamente à imagem que eu tinha em meu arquivo.
Para exibir a imagem em escala de cinza, preciso usar o argumento cmap=’gray’ da seguinte maneira:
import numpy as np import matplotlib. pyplot as plt from PIL import Image #open image image=Image. open (' shapes.JPG ') #convert image to black and white pixels gray_image=image. convert (' L ') #convert image to NumPy array gray_image_array=np. asarray (gray_image) #display image on grayscale plt. imshow (gray_image_array, cmap=' gray ') plt. show ()
A imagem agora foi convertida para escala de cinza.
Nota : O argumento ‘L’ converte a imagem em pixels preto e branco. Sem primeiro usar esta linha de código, a imagem não será exibida em tons de cinza.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:
Como mostrar linhas de grade em gráficos Matplotlib
Como desenhar retângulos no Matplotlib
Como aumentar o tamanho do gráfico no Matplotlib
Como definir ticks de eixo no Matplotlib