使用筛选后的coco数据集json文件,复制对应coco数据集图像

这篇具有很好参考价值的文章主要介绍了使用筛选后的coco数据集json文件,复制对应coco数据集图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、使用筛选后的coco数据集json文件,复制对应coco数据集图像

有时候,我们需要对已经有的数据集进行数据划分,划分后的coco数据集需要寻找对应的图片,可以使用下面的程序脚本。

二、完整代码

import json
import os
import shutil

def copy_images_by_json(image_folder, json_file, output_folder):
    with open(json_file, 'r') as file:
        data = json.load(file)

    image_data = {img['id']: img['file_name'] for img in data['images']}
    
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for image_id, file_name in image_data.items():
        source_path = os.path.join(image_folder, file_name)
        destination_path = os.path.join(output_folder, file_name)

        if os.path.exists(source_path):
            shutil.copy(source_path, destination_path)
            print(f"已复制 {file_name} 到 {output_folder}")
        else:
            print(f"警告:在 {image_folder} 中找不到图像文件 {file_name}")

# 使用示例
image_folder_path = "输入文件夹路径"
json_file_path = "JSON 文件路径"
output_folder_path = "输出文件夹路径"

copy_images_by_json(image_folder_path, json_file_path, output_folder_path)

首先,导入三个必要的模块:json、os 和 shutil。json 模块用于读取 JSON 文件,os 模块用于处理文件路径,shutil 模块用于执行文件复制操作。

接下来,定义一个名为 copy_images_by_json 的函数,它接受三个参数:image_folder(输入图像文件夹路径)、json_file(JSON 文件路径)和 output_folder(输出文件夹路径)。

在函数内部,使用 open 函数打开 JSON 文件,并使用 json.load 函数将文件内容加载为 Python 字典形式的数据。这些数据包含了图像的 ID 和文件名等信息。

使用字典推导式创建一个名为 image_data 的字典,其中键是图像的 ID,值是图像的文件名。这样我们可以根据 ID 快速查找到对应的文件名。

接下来,使用 os.path.exists 函数检查输出文件夹是否存在。如果不存在,则使用 os.makedirs 函数创建该文件夹。

然后,使用一个循环遍历 image_data 字典中的每个图像。对于每个图像,构建源文件路径和目标文件路径。

使用 os.path.exists 函数检查源文件路径是否存在。如果存在,使用 shutil.copy 函数将源文件复制到目标文件路径,并打印相应的提示信息。

如果源文件路径不存在,则打印警告信息,指示找不到图像文件。

最后,提供一个使用示例,需要将输入文件夹路径、JSON 文件路径和输出文件夹路径替换为实际的路径。文章来源地址https://www.toymoban.com/news/detail-790235.html

到了这里,关于使用筛选后的coco数据集json文件,复制对应coco数据集图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包