Joker21 2023-03-09 11:43 采纳率: 33.3%
浏览 22
已结题

用python将json数据与图片可视化

使用python,将已打好标签的json数据(包含矩形框的四个点像素坐标)绘制一个矩形框,与对应缺陷图片组合可视化输出,在一个新的文件夹显示

img

  • 写回答

2条回答 默认 最新

  • 陈书予 2023年6月份城市(北京)之星TOP 1 2023-03-09 12:05
    关注
    
    import cv2
    import json
    import os
    
    # 设置文件路径
    json_file_path = 'path/to/json/file.json'
    image_folder_path = 'path/to/image/folder'
    output_folder_path = 'path/to/output/folder'
    
    # 创建用于显示的窗口
    cv2.namedWindow('image', cv2.WINDOW_NORMAL)
    
    # 读取json文件
    with open(json_file_path, 'r') as f:
        data = json.load(f)
    
    # 循环读取json中每个图片信息
    for i in range(len(data['images'])):
        image_name = data['images'][i]['file_name']
        image_path = os.path.join(image_folder_path, image_name)
    
        # 读取图片文件
        img = cv2.imread(image_path)
    
        # 获得当前图片的所有标签
        annotations = [a for a in data['annotations'] if a['image_id'] == i]
    
        # 遍历所有标签并绘制对应的矩形框
        for a in annotations:
            x, y, w, h = a['bbox']
            cv2.rectangle(img, (int(x), int(y)), (int(x + w), int(y + h)), (0,255,0), 2)
    
        # 在窗口中显示图片
        cv2.imshow('image', img)
    
        # 将图片保存到输出文件夹中
        output_path = os.path.join(output_folder_path, image_name)
        cv2.imwrite(output_path, img)
        cv2.waitKey(0)
    
    # 关闭窗口
    cv2.destroyAllWindows()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写