目标检测绘制json到图像上

import argparse
import cv2
import json

def draw_boxes(image_path, json_path, output_path):
    # 读取JSON文件
    with open(json_path, 'r') as f:
        data = json.load(f)

    # 读取图像路径
    image = cv2.imread(image_path)

    # 绘制框
    for annotation in data['annotations']:
        bbox = annotation['bbox']
        x, y, width, height = int(bbox[0]), int(bbox[1]), int(bbox[2]), int(bbox[3])
        cv2.rectangle(image, (x, y), (x + width, y + height), (0, 255, 0), 2)
        category_id = annotation['category_id']
        category_name = [category['name'] for category in data['categories'] if category['id'] == category_id][0]
        cv2.putText(image, category_name, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

    # 保存绘制后的图片
    cv2.imwrite(output_path, image)

if __name__ == "__main__":
    # 解析命令行参数
    parser = argparse.ArgumentParser(description="Draw bounding boxes on an image based on annotations in a JSON file")
    parser.add_argument("--img_path", help="Path to the image file", required=True)
    parser.add_argument("--json_path", help="Path to the JSON file containing annotations", required=True)
    parser.add_argument("--output_path", help="Path to save the output image", required=True)
    args = parser.parse_args()

    # 调用绘制函数并保存结果
    draw_boxes(args.img_path, args.json_path, args.output_path)

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目标检测自动画label是指通过计算机视觉技术,自动识别图像或视频的目标物体,并在其周围绘制边界以进行标注。此过程通常包括以下几个步骤: 1. 图像预处理:首先对输入的图像或视频进行预处理,例如调整大小、增强对比度等操作,以便更好地识别目标物体。 2. 特征提取:使用卷积神经网络等深度学习模型,提取输入图像的特征。这些特征可以捕捉到目标物体的形状、纹理等特征。 3. 目标检测:对提取到的特征进行分类和定位,以确定图像出现的目标物体的类别和位置。常见的目标检测算法包括基于区域的方法(如R-CNN、Fast R-CNN、Faster R-CNN)、基于单阶段的方法(如YOLO、SSD)等。 4. 标注生成:根据目标检测结果,在图像或视频的目标物体周围自动绘制边界,并将其与对应的类别关联起来。这些边界和类别信息组成了目标检测标签。 5. 标签导出:将生成的标签信息导出为一定格式的数据,如XML、JSON等,以便后续的数据分析、模型训练和应用。 目标检测自动画label的优势在于可以大大提高数据标注的效率和准确性。相比人工标注,自动化的标注过程可以快速处理大量图像或视频数据,并降低了标注过程的人为误差。同时,目标检测自动画label的应用也非常广泛,如自动驾驶、视频监控、物体识别等领域都可以受益于此技术。总的来说,目标检测自动画label是计算机视觉领域的重要技术之一,为实现更高效的图像处理和目标识别提供了有力的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值