龙空技术网

python + opencv:给目标检测的数据集画框,类别不同框颜色不同

eagle深度学习 584

前言:

此时姐妹们对“python 画框”大致比较注意,兄弟们都需要了解一些“python 画框”的相关资讯。那么小编也在网上搜集了一些对于“python 画框””的相关资讯,希望看官们能喜欢,咱们一起来学习一下吧!

import cv2 as cvimport jsonimport os file_path = "./DataCleaning1/Images"json_path = "./DataCleaning1/json"save_path = "./image_box"if not os.path.exists(save_path):    os.makedirs(save_path)file = os.listdir(file_path)for name in file:    imgfile = file_path + "/" + name    img = cv.imread(imgfile)    print(img.shape)		## 不同类别分别处理成不同颜色的框,先存在一个字典中    type_l = {'ControlType.Edit':(0,255,255),'ControlType.Button':(255,0,255),              'ControlType.Header':(255,255,0), 'ControlType.CheckBox':(255,0,0),               'ControlType.ComboBox':(0,255,0),'ControlType.Table':(0,0,255),             'ControlType.ComboBox':(0,0,0),'ControlType.ComboBox':(0,125,0)}    json_file = json_path + "/" + name + ".json"    print(json_file)		## 获取标注框的位置信息    with open(json_file,'rb') as load_f:        load_dict = json.load(load_f)        len_dict = len(load_dict['elements'])        for nu in range(len_dict):            box_four = load_dict['elements'][nu]						## 根据类别获取不同的颜色            c = type_l[box_four['type']]						##x1,x2左上角点坐标  x2,y2右下角点坐标(根据自己数据集处理)            x1 = box_four['left']            y1 = box_four['top']            x2 = box_four['width'] + x1            y2 = box_four['height'] + y1						## 画框            cv.rectangle(img, (x1, y1), (x2, y2), c)						## 标注框的类别信息            cv.putText(img, box_four['type'], (x1, y1), cv.FONT_HERSHEY_COMPLEX, 0.7, c)    cv.imwrite(save_path+'/'+name, img)    break 

标签: #python 画框