基于opencv的掩膜生成 python

2023-05-16

代码将遍历JPG_dir文件夹中的所有jpg文件,并对于每一个jpg文件,读取同名的JSON文件,然后根据JSON文件中记录的标注区域的坐标在JPG图像上绘制掩膜图像。最后,将掩膜图像保存到OUT_dir文件夹中,文件名为原始jpg文件名加上"_mask.png"后缀。

请将JPG_DIR、JSON_DIR和OUT_DIR替换为你实际使用的文件夹名称。注意,这段代码假设JSON文件使用的是labelme标注软件生成的格式,如果你使用的是其他标注工具,可能需要对代码进行一些修改。
文件结构
在这里插入图片描述

测试图片
请添加图片描述
效果
在这里插入图片描述

python代码

import os
import json
from PIL import Image, ImageDraw

# 输入文件夹
JPG_DIR = 'JPG_dir'
JSON_DIR = 'JSON_dir'

# 输出文件夹
OUT_DIR = 'OUT_dir'
if not os.path.exists(OUT_DIR):
    os.mkdir(OUT_DIR)

# 遍历JPG_dir文件夹中的所有文件
for jpg_file in os.listdir(JPG_DIR):
    # 仅处理JPG文件
    if not jpg_file.endswith('.jpg'):
        continue

    # 读取JPG图像
    jpg_path = os.path.join(JPG_DIR, jpg_file)
    img = Image.open(jpg_path)

    # 读取同名JSON文件
    json_file = jpg_file.replace('.jpg', '.json')
    json_path = os.path.join(JSON_DIR, json_file)
    with open(json_path, 'r') as f:
        json_data = json.load(f)

    # 创建掩膜图像
    mask = Image.new('1', img.size, color=0)
    draw = ImageDraw.Draw(mask)
    for shape in json_data['shapes']:
        points = tuple(map(tuple, shape['points']))  # 转换为元组类型
        draw.polygon(points, fill=1)

    # 保存掩膜图像
    out_file = jpg_file.replace('.jpg', '_mask.png')
    out_path = os.path.join(OUT_DIR, out_file)
    print("生成掩膜图片:" + str(out_path))
    mask.save(out_path)

测试图片json

{
  "version": "3.16.7",
  "flags": {},
  "shapes": [
    {
      "label": "bo",
      "line_color": null,
      "fill_color": null,
      "points": [
        [
          232.09756097560978,
          267.8048780487805
        ],
        [
          179.90243902439028,
          301.95121951219517
        ],
        [
          153.5609756097561,
          332.6829268292683
        ],
        [
          145.26829268292687,
          366.82926829268297
        ],
        [
          154.53658536585368,
          398.5365853658537
        ],
        [
          175.51219512195127,
          411.70731707317077
        ],
        [
          212.09756097560978,
          421.4634146341464
        ],
        [
          267.219512195122,
          422.9268292682927
        ],
        [
          283.31707317073176,
          422.9268292682927
        ],
        [
          321.36585365853665,
          431.219512195122
        ],
        [
          344.2926829268293,
          424.39024390243907
        ],
        [
          364.2926829268293,
          404.87804878048786
        ],
        [
          375.02439024390253,
          368.7804878048781
        ],
        [
          372.0975609756098,
          334.63414634146346
        ],
        [
          361.8536585365854,
          303.9024390243903
        ],
        [
          350.1463414634147,
          284.39024390243907
        ],
        [
          328.19512195121956,
          274.63414634146346
        ],
        [
          305.26829268292687,
          284.8780487804878
        ],
        [
          289.6585365853659,
          289.26829268292687
        ],
        [
          270.63414634146346,
          277.5609756097561
        ],
        [
          254.0487804878049,
          266.82926829268297
        ]
      ],
      "shape_type": "polygon",
      "flags": {}
    }
  ],
  "lineColor": [
    0,
    255,
    0,
    128
  ],
  "fillColor": [
    255,
    0,
    0,
    128
  ],
  "imagePath": "5UPV-fyamkra7203844.jpg",
  "imageData": "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",
  "imageHeight": 473,
  "imageWidth": 386
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于opencv的掩膜生成 python 的相关文章

  • 在Linux中的端口80上运行flask[重复]

    这个问题在这里已经有答案了 也许以前有过这个问题的答案 所以请重定向我 如果是这样的话 我正在考虑在端口 80 上运行 Flask 所以我检查了是否有任何东西正在使用端口 80 因为事实证明端口 80 没有运行 所以当我输入以下内容时 if
  • 如何从数据库模式自动生成示例 Django 应用程序?

    我正在评估概念验证应用程序的框架 该应用程序的生命周期约为 30 天 之后它将被遗忘或完全重写 我已确定要从现有数据库模式自动生成示例应用程序 然后调整视觉设计的某些方面 我看过一个演示红宝石 on Rails 它会为数据库中的每个表自动生
  • 如何在模型 Django 中创建必需:布尔字段

    我有一个模型 其中有一个名为的字段is student and is teacher Student and Teacher forms is teacher models BooleanField teacher status defau
  • Pyjnius导入jar文件

    Pyjnius 允许您为 java 类创建 python 包装器 例如 Hardware autoclass org myapp Hardware 有没有办法像这样导入现有的 jar 文件 语法是什么样的 您可以将 jar 添加到 CLAS
  • Python绕相机轴旋转图像

    假设我有一个图像 是在对某些原始图像应用单应性变换 H 后获得的 未显示原始图像 将单应性 H 应用于原始图像的结果是该图像 我想围绕合适的轴 可能是相机所在的位置 如果有的话 将此图像旋转 30 度以获得此图像 如果我不知道相机参数 如何
  • 如何逐行替换(更新)文件中的文本

    我试图通过读取每一行 测试它 然后写入是否需要更新来替换文本文件中的文本 我不想保存为新文件 因为我的脚本已经先备份文件并对备份进行操作 这是我到目前为止所拥有的 我从 os walk 获取路径 并且保证 pathmatch var 正确返
  • 将元组列表转换为字符串 Python

    例如 我用 python 编写了一个返回列表的函数 1 1 2 2 3 3 但我希望输出为字符串 这样我就可以用另一个字符替换逗号 这样输出就是 1 1 2 2 3 3 有什么简单的方法可以解决这个问题吗 感谢您提前提供任何提示 这看起来像
  • Python/Scipy 2D 插值(非均匀数据)

    这是我上一篇文章的后续问题 Python Scipy 插值 地图坐标 https stackoverflow com questions 5124126 python scipy interpolation map coordinates
  • 简单 CAE 的问题

    看起来简单的 CAE 不适用于 Carvana 数据集 我正在尝试对 Carvana 数据集进行简单的 CAE 你可以下载它here https www kaggle com c carvana image masking challeng
  • 确保特定列位于数据框中最后(或第一个)的最快方法是什么

    given df df pd DataFrame np arange 8 reshape 2 4 columns list abcd 假设我需要专栏 b 到最后 我可以做 df a c d b 但是确保给定列位于末尾的最有效方法是什么 这就
  • Django 单元测试数据库没有被拆除?

    我编写了一些单元测试来测试我的 Django 应用程序 特别是一个测试套件中包含大量代码setUp 功能 所述代码的目的是为数据库创建测试数据 是的 我了解固定装置 并且选择在这种情况下不使用它们 当我运行单元测试套件时 运行的第一个测试通
  • 即使使用标头和 Session 对象,Python requests.get 也会失败并出现 403 禁止

    我正在发出 GET 请求来获取 JSON 它在任何设备上的任何浏览器中都可以正常工作 但不能通过 python 请求 url https angel co autocomplete new tags params query sci tag
  • Python:使用Excel CSV文件仅读取某些列和行

    虽然我可以读取 csv 文件而不是读取整个文件 但如何仅打印某些行和列 想象一下这是 Excel A B C D E State Heart Disease Rate Stroke Death Rate HIV Diagnosis Rate
  • Django - 从时间戳获取不同的日期

    我正在尝试按日期过滤用户 但直到我可以找到数据库中用户的第一个和最后一个日期为止 虽然我可以让我的脚本稍后过滤掉重复项 但我想从一开始就使用 Django 来完成此操作distinct因为它显着减少 我试过 User objects val
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • 为什么变量不在循环外更新?

    无法弄清楚为什么结果中的第一个键是 abc 而不是我期望的 c 我使用的是Python 3 6 4 数据结构很奇怪 因为我删除了不相关的键和值 f replace ab r data abc 1 def 2 ghi 3 jkf 4 lmn
  • 如何使 cx-oracle 将查询结果绑定到字典而不是元组?

    这是我的代码 我想找到一种方法将查询结果作为字典列表而不是元组列表返回 看起来 cx oracle 通过部分文档讨论 绑定 来支持这一点 虽然我不知道它是如何工作的 def connect dsn cx Oracle makedsn hos
  • 无法从源 pylance 解析导入烧瓶

    我正在学习 Python 课程的一部分是使用 Flask 设置网络服务器 我按照 Flask 安装文档执行了步骤 由于某种原因 flask 模块带有下划线 如下所示 当我将鼠标悬停时 我会得到如下附加信息 无法从源 pylance 解析导入
  • 添加条件计数器:基于其他列的值的计数器列

    我有一张这样的桌子 id id2 val a red apple a red orange b blue fish c violet beef a yellow banana a black pork 我想根据 id 和 id2 的值创建一
  • 如何从集合中检索元素而不删除它?

    假设如下 gt gt gt s set 1 2 3 我如何获得一个值 任何值 s不做s pop 我想将该项目保留在集合中 直到我确定可以删除它 这只有在异步调用另一个主机之后才能确定 又快又脏 gt gt gt elem s pop gt

随机推荐