根据YOLO检测出的坐标在原图上进行目标区域的裁剪

这篇具有很好参考价值的文章主要介绍了根据YOLO检测出的坐标在原图上进行目标区域的裁剪。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  在使用YOLO算法进行目标检测的时候,我们常常需要获取检测到的目标图像进行下一步操作,Franpper在本文中为大家提供了预测时生成存放目标坐标的.txt文件与通过坐标在原图上进行裁剪目标图像的方法。

目录

一、生成预测结果的坐标txt文件

 二、通过坐标在原图上进行裁剪目标图像


一、生成预测结果的坐标txt文件

在预测程序detect.py中,有这样一行代码,是用来选择是否生成预测结果的坐标txt文件

parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')

 加上default=True,如下。即可在生成预测结果的时候同时生成txt文件

parser.add_argument('--save-txt', default=True, action='store_true', help='save results to *.txt')

存放在 labels文件夹中

根据YOLO检测出的坐标在原图上进行目标区域的裁剪,opencv,计算机视觉,python文章来源地址https://www.toymoban.com/news/detail-631716.html

 二、通过坐标在原图上进行裁剪目标图像

import os
import cv2

path = r'F:\work\2023-0103-0106\part\exp\labels'         # jpg图片和对应的生成结果的txt标注文件,放在一起
path3 = r'F:\work\2023-0103-0106\part\exp\labels\cut'    # 裁剪出来的小图保存的根目录
path2 = r'F:\work\2023-0103-0106\part\exp\labels\crop'   # 覆盖目标区域后的原图

file = os.listdir(path)
# 生成图像与标签名称列表
img_total = []
txt_total = []
for filename in file:
    first, last = os.path.splitext(filename)
    if last == ".jpg":                      # 图片的后缀名
        img_total.append(first)
    else:
        txt_total.append(first)

for img_name in img_total:
    if img_name in txt_total:
        filename_img = img_name+".jpg"
        path1 = os.path.join(path, filename_img)
        img = cv2.imread(path1)
        h, w = img.shape[0], img.shape[1]
        img = cv2.resize(img, (w, h), interpolation=cv2.INTER_CUBIC)  # resize 图像大小,否则roi区域可能会报错
        filename_txt = img_name+".txt"
        n = 1
        with open(os.path.join(path, filename_txt), "r+", encoding="utf-8", errors="ignore") as f:
            for line in f:
                coordinate = line.split(" ")
                x_center = w * float(coordinate[1])       # coordinate[1]左上点的x坐标
                y_center = h * float(coordinate[2])       # coordinate[2]左上点的y坐标
                width = int(w*float(coordinate[3]))       # coordinate[3]图片width
                height = int(h*float(coordinate[4]))      # coordinate[4]图片height
                lefttopx = int(x_center-width/2.0)
                lefttopy = int(y_center-height/2.0)
                filename_last = img_name + "_" + str(n) + ".jpg"
                roi = img[lefttopy+1:lefttopy+height+3, lefttopx+1:lefttopx+width+1]
                cv2.imwrite(os.path.join(path3, filename_last), roi)
                filename_last = img_name+"_"+str(n)+".jpg"    # 裁剪出来的小图文件名
                img[lefttopy + 1:lefttopy + height + 3, lefttopx + 1:lefttopx + width + 1] = (255, 255, 255)
                n = n+1
            cv2.imwrite(os.path.join(path2, filename_last), img)
    else:
        continue

到了这里,关于根据YOLO检测出的坐标在原图上进行目标区域的裁剪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 目标检测-Yolo框架

    目标检测-Yolo框架

    目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。

    2024年02月06日
    浏览(6)
  • YOLO手部目标检测

    手部目标检测原文地址如下: 手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_yolov5 关键点检测-CSDN博客 手部检测数据集地址如下:  手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)_手关键点数据集-CSDN博客  

    2024年02月03日
    浏览(7)
  • YOLO目标检测——时间检测数据集下载分享

    YOLO目标检测——时间检测数据集下载分享

    时间数据集是表示一天中不同时间的图像集合,日出和日落被视为同一类别。数据集包含日出/日落、白天场景和夜间场景的图像,并已重新缩放为 224 x 224 x 3 像素,描绘了不同的地点和不同的天气条件,如晴朗的天空,阴天等。 数据集点击下载 :YOLO时间检测数据集+2700图片

    2024年02月10日
    浏览(13)
  • YOLO目标检测——天气检测数据集下载分享

    YOLO目标检测——天气检测数据集下载分享

    天气检测数据集可以用于训练天气预报模型,帮助预测未来的天气情况,包含了晴天、雨天、雾天、雪天 数据集点击下载 :YOLO天气检测数据集+2300图片+4类别.rar

    2024年02月11日
    浏览(8)
  • 目标检测网络YOLO进化之旅

    目标检测网络YOLO进化之旅

    yolo系列网络在目标检测领域取得了巨大的成功, 尤其是在工程实践中, 以其出色的性能优势获得了广泛的应用落地。 YOLO的前3个版本是由同一个作者团队出品, 算是官方版本。 之后的版本都是各个研究团队自己改进的版本, 之间并无明显的继承关系。 其中v5和v8 版本由

    2024年04月22日
    浏览(8)
  • YOLO v5 实现目标检测

    YOLO v5 实现目标检测

    本文用于学习记录 YOLO v5 实现目标检测 安装完成以后,按下开始键( win 键)出现 anaconda3 这个文件夹,说明 anaconda 已经安装好了 点击左下图中标红的图标,就可打开 anaconda 的终端如右下图: 输入 conda create -n pytorch1 python=3.9,在 base 环境中这条命令,就会创建一个新的虚拟

    2024年01月16日
    浏览(11)
  • 开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

    开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

    大多数现有的对象检测模型都经过训练来识别一组有限的预先确定的类别。将新类添加到可识别对象列表中需要收集和标记新数据,并从头开始重新训练模型,这是一个耗时且昂贵的过程。该大模型的目标是开发一个强大的系统来检测由人类语言输入指定的任意对象,而无需

    2024年01月23日
    浏览(14)
  • YOLO目标检测——花蕊分类检测数据集下载分享

    YOLO目标检测——花蕊分类检测数据集下载分享

    花蕊分类检测数据集共同7300图片,103类别,分别放在103个文件夹中,可应用于:植物学研究、花卉市场和园艺业、智能农业、视觉搜索引擎、等等 数据集点击下载 :YOLO花蕊分类检测数据集+7300图片+102种类别.rar

    2024年02月11日
    浏览(9)
  • 目标检测YOLO实战应用案例100讲-SAR图像多尺度舰船目标检测

    目录 前言 SAR舰船目标检测  基于背景特性的舰船目标检测方法 

    2024年02月09日
    浏览(12)
  • 目标检测YOLO实战应用案例100讲-森林野火预警的小目标检测

    目录 前言 传统目标检测算法  基于深度学习的目标检测算法  两阶段目标检测算法 

    2024年02月09日
    浏览(8)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包