python 在图像上画矩形框并保存的几种方式
import os
import matplotlib.pyplot as plt
import matplotlib.patches as pat
import cv2 as cv
from PIL import Image, ImageDraw
img_path = './test.jpg'
img = plt.imread(img_path)
fig, ax = plt.subplots(1)
ax.imshow(img)
rec = pat.Rectangle((205, 72), 170, 147, linewidth=2, edgecolor='r', facecolor='None')
ax.add_patch(rec)
plt.imshow(img)
plt.show()
fig.savefig('new_test_1.jpg')

img_path = './test.jpg'
img = Image.open(img_path)
a = ImageDraw.ImageDraw(img)
a.rectangle(((205, 72), (375, 219)), fill=None, outline='red', width=2)
img.save('new_test_2.jpg')
img.show()

img_path = './test.jpg'
img = cv.imread(img_path)
cv.rectangle(img, (205, 72), (375, 219), (0, 0, 255), 2)
cv.namedWindow('img', cv.WINDOW_NORMAL)
cv.imshow('img', img)
cv.waitKey()
cv.imwrite('new_test_3.jpg', img)
