Cómo dibujar un rectángulo en una imagen, así:
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
im = np.array(Image.open('dog.png'), dtype=np.uint8)
plt.imshow(im)
No se como proceder.
python
image
matplotlib
KAI ZHAO
fuente
fuente
fill=False
bandera aRectangle
patches.Rectangle
dice que los dos primeros números sonThe bottom and left rectangle coordinates
. Veo aquí que los dos primeros números (50,100) corresponden a la coordenada SUPERIOR e izquierda del rectángulo. Estoy confundido.Necesitas usar parches.
fuente
No hay necesidad de subtramas, y pyplot puede mostrar imágenes PIL, por lo que esto se puede simplificar aún más:
O la versión corta:
fuente
Desde mi entendimiento matplotlib es una biblioteca de trazado.
Si desea cambiar los datos de la imagen (por ejemplo, dibujar un rectángulo en una imagen), puede usar ImageDraw , OpenCV de PIL o algo similar.
Aquí está el método ImageDraw de PIL para dibujar un rectángulo .
Este es uno de los métodos de OpenCV para dibujar un rectángulo. .
Su pregunta se refería a Matplotlib, pero probablemente debería haberle preguntado sobre dibujar un rectángulo en una imagen.
Aquí hay otra pregunta que aborda lo que creo que querías saber: dibuja un rectángulo y un texto con PIL
fuente