在物体检测任务中需要把检测出的物体用框框出来,下面就是用一个简单的例子展示如何使用matplotlib画框框
import matplotlib.pyplot as plt
from PIL import Image
import os
root = "./data/coco/train2017"
annFile = "./data/coco/annotations/instances_train2017.json"
plt.imshow(Image.open(root + "/" + os.listdir(root)[0]))
ax = plt.gca()
# 默认框的颜色是黑色,第一个参数是左上角的点坐标
# 第二个参数是宽,第三个参数是长
ax.add_patch(plt.Rectangle((100, 200), 200, 100, color="blue", fill=False, linewidth=1))
# 第三个参数是标签的内容
# bbox里面facecolor是标签的颜色,alpha是标签的透明度
ax.text(100, 200, "label 0.9", bbox={'facecolor':'blue', 'alpha':0.5})
plt.savefig("./a.jpg")
plt.show()
代码非常简单,其实就是用使用plt.gca()获取一个对象,然后在获取的对象里面添加矩形框和文本内容,具体每个参数的含义在注释中都有说明,下面就是最后的效果