Plotagem de Imagens com Matplotlib

MatplotlibMatplotlibBeginner
Pratique Agora

This tutorial is from open-source community. Access the source code

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Neste laboratório, você aprenderá como plotar e manipular imagens usando a biblioteca Matplotlib em Python. Você aprenderá como importar dados de imagem em arrays NumPy, plotar arrays NumPy como imagens, aplicar esquemas de pseudocor, adicionar referências de escala de cores, examinar intervalos de dados específicos e explorar diferentes esquemas de interpolação.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 89.36%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Importando Dados de Imagem

Para começar, precisamos importar as bibliotecas necessárias e carregar os dados da imagem em um array NumPy. Em nosso caso, usaremos a biblioteca PIL para carregar a imagem e, em seguida, convertê-la em um array NumPy.

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

img = np.asarray(Image.open('./stinkbug.png'))

Plotando Imagens

Agora que temos os dados da imagem em um array NumPy, podemos plotá-los usando a função imshow de matplotlib.pyplot. Esta função recebe o array da imagem como entrada e o exibe como um gráfico de imagem.

plt.imshow(img)

Aplicando Esquemas de Pseudocor

Esquemas de pseudocor podem ser usados para aprimorar o contraste e visualizar dados com mais facilidade. Se a imagem for em tons de cinza (grayscale), podemos aplicar esquemas de pseudocor especificando diferentes mapas de cores (colormaps). Podemos fazer isso usando o parâmetro cmap na função imshow.

lum_img = img[:, :, 0]
plt.imshow(lum_img, cmap="hot")

Adicionando Referência de Escala de Cores

Para fornecer uma referência para a escala de cores, podemos adicionar uma barra de cores ao gráfico. Isso pode ser feito usando a função colorbar de matplotlib.pyplot.

imgplot = plt.imshow(lum_img)
plt.colorbar()

Examinando Intervalos de Dados Específicos

Às vezes, pode ser necessário examinar intervalos de dados específicos em uma imagem. Podemos fazer isso ajustando os limites do mapa de cores (colormap) usando o parâmetro clim na função imshow. Isso nos permite focar em regiões específicas da imagem, sacrificando detalhes em outras regiões.

min_value, max_value = 100, 200
plt.imshow(img, clim=(min_value, max_value))

Esquemas de Interpolação de Array

Ao redimensionar uma imagem, é necessário interpolar os valores dos pixels para preencher o espaço ausente. Diferentes esquemas de interpolação podem ser usados para determinar o valor de um pixel com base em seus pixels circundantes. Matplotlib fornece diferentes opções de interpolação, como "nearest" (mais próximo), "bilinear" (bilinear) e "bicubic" (bicúbica).

plt.imshow(img, interpolation="bilinear")

Resumo

Neste laboratório, você aprendeu como plotar e manipular imagens usando Matplotlib. Você aprendeu como importar dados de imagem para arrays NumPy, plotar arrays NumPy como imagens, aplicar esquemas de pseudocor, adicionar referências de escala de cores, examinar intervalos de dados específicos e explorar diferentes esquemas de interpolação. Essas habilidades serão úteis para visualizar e analisar imagens em várias aplicações.

OSZAR »