众所周知,目标检测的数据集由两部分组成,一部分是图片,另一部分当然就是图片对应的标签了。这里的标签就是图片中每一个物体的边框了。在数据集中,每一个框框是以五个数字组成的,分别是x、y、w、h,以及类别。
打开数据集,我不太喜欢这些数字,我想要在图片上面框框这些框框,下面直接上代码。
import random
import colorsys
import matplotlib.pyplot as plt
from datetime import datetime
import os
import cv2
import numpy as np
import tensorflow as tf
import shutil
#原图像需要放在相应路径下
#生成带框图像路径
out_image_path = '填入你的路径'
#训练集txt文件路径
data_path = '填入你的路径'
#类别名称txt文件路径
class_name_path = '填入你的路径'
def draw_bbox_new(image, bboxes, classes=None, show_label=True):
if classes is None:
classes = read_class_names(class_name_path)
class_num = len(classes)
image_h, image_w, _ = image.shape
hsv_tuples = [(1.0 * x / class_num, 1., 1.) for x in range(class_num)]
colors = list(map(lambda x: colorsys