#同样,需要设计一个函数,只画一个目标框
def show_1_box_in_a_img(im_file, i=0):
#Nov,29
import matplotlib.pyplot as plt
# set display defaults
plt.rcParams['figure.figsize'] = (12, 9) # small images
plt.rcParams['image.interpolation'] = 'nearest' # don't interpolate: show square pixels
plt.rcParams['image.cmap'] = 'gray' # use grayscale output rather than a (potentially misleading) color heatmap
#同样,需要设计一个函数,只画一个目标框
def show_1_box_in_a_img(im_file, i=0):
'''
设计一个函数,将10个方框都展示出来。
im_file:只需要传入一个路径
使用pyplot绘制
1.
'''
# 1先绘制图片
im = plt.imread(im_file)
plt.imshow(im)
# 2 绘制方框,需要box_list函数
# from imagebox import file_2_10_boxes_list
box_list = file_2_10_boxes_list(im_file)
# i=5
array , att_str= box_list[i]
logger.info(array)
logger.info(att_str)
bbox = array
# 绘制盒子
plt.gca().add_patch(
plt.Rectangle((bbox[0], bbox[1]),
bbox[2] - bbox[0],
bbox[3] - bbox[1], fill=False,
edgecolor='red', linewidth=2, alpha=0.5)
)
# 文本
cls = att_str
plt.gca().text(bbox[0], bbox[1] - 2,
'%s' % (cls),
bbox=dict(facecolor='blue', alpha=0.5),
fontsize=10, color='white')
plt.show()
#
调用
from configs import dataset_path,img0,img1
im_file = dataset_path + img0
from imagebox import show_1_box_in_a_img
show_1_box_in_a_img(im_file,i=8)
结果: