使用yolo格式标注将目标框中的图片裁剪保存

本文介绍了一个Python程序,用于根据YOLO格式的txt文件对图片进行目标框截取,将指定区域的图片保存到新的目录中。它遍历图片和txt文件,读取坐标信息,然后使用OpenCV进行坐标转换和裁剪操作。
摘要由CSDN通过智能技术生成

根据yolo格式标注的txt文件,将目标框中的图片截取保存

Python代码:

import os
import cv2

def txt_cut_image(image_path,txt_path, new_image_path):
    # 遍历所有图片
    for file in os.listdir(image_path):
            image_file_path = os.path.join(image_path, file)

            # 构造对应的txt文件路径
            txt_file = os.path.splitext(file)[0] + ".txt"
            label_file_path = os.path.join(txt_path, txt_file)

            # 读取标注文件和原始图片
            with open(label_file_path, 'r') as f:
                lines = f.readlines()
            image = cv2.imread(image_file_path)

            # 循环处理每个标注框
            i = 0
            for line in lines:
                i = i + 1
                class_id, x_center, y_center, width, height = map(float, line.strip().split())

                # 将YOLOv5格式的坐标转换为常规坐标
                left = int((x_center - width / 2) * image.shape[1])
                top = int((y_center - height / 2) * image.shape[0])
                right = int((x_center + width / 2) * image.shape[1])
                bottom = int((y_center + height / 2) * image.shape[0])

                # 截取标注框内的内容并保存为新图片
                cut_image = image[top:bottom, left:right]
                new_cut_image_path = os.path.join(new_image_path,file)
                print(new_cut_image_path)
                cv2.imwrite(new_cut_image_path, cut_image)

if __name__ == "__main__":
    image_path = "./data/images"
    txt_path = "./data/labels"
    new_image_path = "./data/new_images"
    txt_cut_image(image_path,txt_path, new_image_path)

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
目标检测图片标注YOLO格式数据集可以在以下地方进行下载: 1. Kaggle(https://www.kaggle.com/):Kaggle是一个数据科学竞赛平台,提供各种数据集供用户下载。在Kaggle的数据集页面上,你可以通过搜索相关关键词或者浏览不同的目录来找到YOLO格式的数据集。选择适合你需求的数据集后,你可以通过点击下载按钮来获取数据集。 2. GitHub(https://github.com/):GitHub是一个源代码托管平台,很多开发者和研究者会在上面分享自己的数据集。你可以在GitHub上搜索关键词加上"YOLO dataset"或者"YOLO format dataset"来查找相应的数据集。当找到合适的仓库时,你可以在仓库的页面上找到数据集的下载链接或者通过克隆仓库来获取数据集。 3. Open Images Dataset(https://storage.googleapis.com/openimages/web/index.html):Open Images Dataset是一个由Google提供的大规模图像数据集,其中包括了一些已经标注目标检测数据。你可以在官方网站上找到YOLO格式的数据集,并通过点击下载按钮来获取数据集。 4. 研究论文和竞赛网站:一些研究论文或者目标检测竞赛网站会提供YOLO格式的数据集供用户下载。常见的论文网站有arXiv(https://arxiv.org/)和CVPR(https://openaccess.thecvf.com/CVPR2021)。常见的竞赛网站有COCO数据集(http://cocodataset.org/)和ImageNet(http://www.image-net.org/)。你可以在这些网站上找到相关的数据集下载链接。 需要注意的是,不同的数据集可能具有不同的许可证要求,所以在下载和使用数据集时,请查阅相关的许可证信息,并遵守相关的规定。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值