柳州网站建设找哪家好,苏州北京网站建设,wordpress主题less,成免费的crm无需下载主要是查到的可用代码#xff0c;便于自己使用查询#xff0c;和有相关需求的提供参考。
代码是MMYOLO下的可视化代码browse_coco_json.py#xff0c;有json文件和图像文件#xff0c;可以直接输入执行#xff0c;输出会把bbox、mask等类型标注展示。
下面直接上代码便于自己使用查询和有相关需求的提供参考。
代码是MMYOLO下的可视化代码browse_coco_json.py有json文件和图像文件可以直接输入执行输出会把bbox、mask等类型标注展示。
下面直接上代码
import argparse
import os.path as ospimport cv2
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import PatchCollection
from matplotlib.patches import Polygon
from pycocotools.coco import COCOdef show_coco_json(args):if args.data_root is not None:coco COCO(osp.join(args.data_root, args.ann_file))else:coco COCO(args.ann_file)print(fTotal number of images{len(coco.getImgIds())})categories coco.loadCats(coco.getCatIds())category_names [category[name] for category in categories]print(fTotal number of Categories : {len(category_names)})print(Categories: \n{}\n.format( .join(category_names)))if args.category_names is None:category_ids []else:assert set(category_names) set(args.category_names)category_ids coco.getCatIds(args.category_names)image_ids coco.getImgIds(catIdscategory_ids)if args.shuffle:np.random.shuffle(image_ids)for i in range(len(image_ids)):image_data coco.loadImgs(image_ids[i])[0]if args.data_root is not None:image_path osp.join(args.data_root, args.img_dir,image_data[file_name])else:image_path osp.join(args.img_dir, image_data[file_name])annotation_ids coco.getAnnIds(imgIdsimage_data[id], catIdscategory_ids, iscrowd0)annotations coco.loadAnns(annotation_ids)image cv2.imread(image_path)image cv2.cvtColor(image, cv2.COLOR_BGR2RGB)plt.figure()plt.imshow(image)if args.disp_all:coco.showAnns(annotations)else:show_bbox_only(coco, annotations)if args.wait_time 0:plt.show()else:plt.show(blockFalse)plt.pause(args.wait_time)plt.close()def show_bbox_only(coco, anns, show_label_bboxTrue, is_fillingTrue):Show bounding box of annotations Only.if len(anns) 0:returnax plt.gca()ax.set_autoscale_on(False)image2color dict()for cat in coco.getCatIds():image2color[cat] (np.random.random((1, 3)) * 0.7 0.3).tolist()[0]polygons []colors []for ann in anns:color image2color[ann[category_id]]bbox_x, bbox_y, bbox_w, bbox_h ann[bbox]poly [[bbox_x, bbox_y], [bbox_x, bbox_y bbox_h],[bbox_x bbox_w, bbox_y bbox_h], [bbox_x bbox_w, bbox_y]]polygons.append(Polygon(np.array(poly).reshape((4, 2))))colors.append(color)if show_label_bbox:label_bbox dict(facecolorcolor)else:label_bbox Noneax.text(bbox_x,bbox_y,%s % (coco.loadCats(ann[category_id])[0][name]),colorwhite,bboxlabel_bbox)if is_filling:p PatchCollection(polygons, facecolorcolors, linewidths0, alpha0.4)ax.add_collection(p)p PatchCollection(polygons, facecolornone, edgecolorscolors, linewidths2)ax.add_collection(p)def parse_args():parser argparse.ArgumentParser(descriptionShow coco json file)parser.add_argument(--data-root, defaultNone, helpdataset root)parser.add_argument(--img-dir, defaultdata/coco/train2017, helpimage folder path)parser.add_argument(--ann-file,defaultdata/coco/annotations/instances_train2017.json,helpann file path)parser.add_argument(--wait-time, typefloat, default2, helpthe interval of show (s))parser.add_argument(--disp-all,actionstore_true,helpWhether to display all types of data, such as bbox and mask. Default is to display only bbox)parser.add_argument(--category-names,typestr,defaultNone,nargs,helpDisplay category-specific data, e.g., bicycle, person)parser.add_argument(--shuffle,actionstore_true,helpWhether to display in disorder)args parser.parse_args()return argsdef main():args parse_args()show_coco_json(args)if __name__ __main__:main()用法
–img-dir 图片文件夹 –ann-file coco标签文件 –disp-all 显示所所有类别标签
python browse_coco_json.py --img-dir /dataset/image/coco/train2017 \--ann-file /label/instances_train2017.json \--disp-all查看 COCO 全部类别同时仅展示 bbox 类型的标注并打乱显示
python browse_coco_json.py --data-root ./data/coco \--img-dir train2017 \--ann-file annotations/instances_train2017.json \--shuffle只查看 bicycle 和 person 类别同时仅展示 bbox 类型的标注
python browse_coco_json.py --data-root ./data/coco \--img-dir train2017 \--ann-file annotations/instances_train2017.json \--category-names bicycle person查看 COCO 全部类别同时展示 bbox、mask 等所有类型的标注并打乱显示
python browse_coco_json.py --data-root ./data/coco \--img-dir train2017 \--ann-file annotations/instances_train2017.json \--disp-all \--shuffle