提取coco格式json信息生成图片mask

承接上文coco详解,因整个json文件可读性差,需从其中提取信息生成图像对应的mask,代码涉及pycocotools工具使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书接上文coco详解内容,一整个json文件可读性非常差,有时候需要将json文件中的信息提取出来生成图像对应的mask,代码涉及pycocotools工具使用:

import os
import numpy as np
import pycocotools.mask as mask_utils
from pycocotools.coco import COCO
import cv2
from tqdm import tqdm

# 根据自己情况设置图片、json以及mask保存路径
img_path = ''
json_path = ''
save_mask = ''

os.makedirs(save_mask, exist_ok=True)

# 通过pycocotools加载json文件
coco = COCO(json_path)

# 获取json中的图像id
images_ids = coco.getImgIds()

# 逐图处理
for img_id in tqdm(images_ids):
    # 根据图像唯一id获取对应信息
    img_info = coco.loadImgs(img_id)[0]
    img_files_path = os.path.join(img_path, img_info['file_name'])
    height, width = img_info['height'], img_info['width'] 
   
    # 根据图像id获取对应标签信息
    ann_ids = coco.getAnnIds(imgIds=img_id)    
    anns = coco.loadAnns(ann_ids)
    
    # 逐实例处理(一个图像存在多个实例)
    for ann in anns:
        rle = coco.annToRLE(ann)
        mask = mask_utils.decode(rle)
        mask[mask == 1] = 255   # 调整mask中的像素值

        # 保存mask
        mask_nam
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值