Как нарисовать прямоугольник на изображении, например:
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)
Я не знаю, как поступить.
python
image
matplotlib
КАЙ ЖАО
источник
источник
fill=False
флагRectangle
patches.Rectangle
указано, что первые два числа - этоThe bottom and left rectangle coordinates
. Я вижу здесь, что первые два числа (50,100) соответствуют верхней и левой координате прямоугольника. Я запутался.Вам нужны патчи.
источник
Нет необходимости в подзаголовках, и pyplot может отображать изображения PIL, поэтому это можно еще упростить:
Или короткая версия:
источник
Насколько я понимаю, matplotlib - это библиотека для построения графиков.
Если вы хотите изменить данные изображения (например, нарисовать прямоугольник на изображении), вы можете использовать PIL ImageDraw , OpenCV или что-то подобное.
Вот метод ImageDraw PIL для рисования прямоугольника .
Вот один из методов OpenCV для рисования прямоугольника .
Ваш вопрос задан о Matplotlib, но, вероятно, нужно было просто спросить о рисовании прямоугольника на изображении.
Вот еще один вопрос, который касается того, что, я думаю, вы хотели знать: нарисуйте прямоугольник и текст в нем с помощью PIL.
источник