Matplotlib é uma biblioteca Python versátil e renomada por suas capacidades de visualização de dados. Além de plotar dados, ela se destaca na manipulação de imagens, permitindo que você sobreponha formas diretamente sobre as imagens. Este tutorial demonstra como adicionar retângulos a imagens usando Matplotlib de forma eficiente.
Sumário
Desenhando Retângulos no Matplotlib
Antes de trabalhar com imagens, vamos dominar o desenho de retângulos em figuras Matplotlib padrão. Esta etapa fundamental é crucial para entender o processo de sobreposição de imagens.
import matplotlib.pyplot as plt
import matplotlib.patches as patches
# Criar figura e eixos
fig, ax = plt.subplots()
# Definir retângulo
rect = patches.Rectangle((0.1, 0.1), 0.5, 0.5, linewidth=1, edgecolor='r', facecolor='none')
# Adicionar retângulo aos eixos
ax.add_patch(rect)
# Definir limites dos eixos (opcional)
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
# Mostrar gráfico
plt.show()
Este código gera um retângulo simples. Vamos analisá-lo:
matplotlib.pyplot as plt
: Importa a biblioteca de plotagem Matplotlib.matplotlib.patches as patches
: Importa o módulopatches
, contendo objetos de forma como retângulos.patches.Rectangle((x, y), width, height)
: Cria um retângulo.(x, y)
especifica o canto inferior esquerdo;width
eheight
definem suas dimensões. As coordenadas são normalizadas (0 a 1).linewidth
,edgecolor
,facecolor
: Controlam a aparência do retângulo.facecolor='none'
cria apenas um contorno.ax.add_patch(rect)
: Adiciona o retângulo aos eixos.ax.set_xlim()
eax.set_ylim()
: Definir limites dos eixos x e y (opcional, para melhor visualização).
Sobrepondo Retângulos em Imagens
Agora, vamos estender isso para sobrepor retângulos em imagens. Usaremos imread
do Matplotlib para carregar a imagem.
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.image as mpimg
# Carregar imagem
img = mpimg.imread('your_image.jpg') # Substitua pelo caminho da sua imagem
# Criar figura e eixos
fig, ax = plt.subplots()
# Mostrar imagem
ax.imshow(img)
# Criar retângulo (coordenadas de pixel)
rect = patches.Rectangle((100, 100), 150, 100, linewidth=2, edgecolor='b', facecolor='none')
# Adicionar retângulo aos eixos
ax.add_patch(rect)
# Mostrar gráfico
plt.show()
Isso é semelhante ao exemplo anterior, mas:
mpimg.imread('your_image.jpg')
: Carrega a imagem. Lembre-se de substituir'your_image.jpg'
pelo caminho da sua imagem.ax.imshow(img)
: Mostra a imagem nos eixos.- As coordenadas do retângulo
(100, 100)
agora estão em coordenadas de pixel. Ajuste esses valores para posicionar o retângulo.
Este método permite que você anote imagens de forma eficaz. Experimente com coordenadas, tamanhos, cores e larguras de linha para personalizar a aparência e o posicionamento do retângulo. Lembre-se que as coordenadas são relativas às dimensões em pixels da imagem.