#同样,需要设计一个函数,只画一个目标框

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)    



结果:

在图片中画一个目标框,并显示文本信息_绘制目标框