注意⚠️:请根据实际情况修改代码中的路径
一、根据分类id提取人的标签并生成新的json
import json
from tqdm import tqdm
def filter_coco_data(input_json, output_json, target_category_id=1):
"""
过滤COCO数据,保留指定类别的标注及关联图片
参数:
input_json: 输入JSON文件路径
output_json: 输出JSON文件路径
target_category_id: 目标类别ID(默认为1)
"""
with open(input_json, 'r') as f:
data = json.load(f)
valid_image_ids = set()
filtered_annotations = []
for ann in tqdm(data['annotations'], desc="过滤标注"):
if ann['category_id'] == target_category_id:
filtered_annotations.append(ann)
valid_image_ids.add(ann['image_id'])
filtered_images = [
img for img in data['images']
if img['id'] in valid_image_ids
]
new_data = {
"info": data