用python将没有目标的图片抽出数据集文件夹

1、概述:

博主是基于2021年全球小麦目标检测计数比赛的数据集进行分析,发现CSV标签文件中是存在no_box也就是没有标注框的情况。

在这里插入图片描述

为了方便菜鸡的博主方便用目标检测算法,博主将无目标的图像抽取处理,方便后续批量转换CSV文件为XML文件

点击转到博主编写的转换CSV文件代码博客

import cv2
import csv
import argparse
import numpy as np
import pandas as pd
from tqdm import tqdm


parser = argparse.ArgumentParser()
parser.add_argument('--big_csv', type=str, default='D:/Download/2021wheat_object_dectection/train.csv', help='')
parser.add_argument('--dataset_way', type=str, default='D:/Download/2021wheat_object_dectection/train', help='')
parser.add_argument('--wish_way', type=str, default='D:/Download/2021wheat_object_dectection/no_box_dataset', help='')
opt=parser.parse_args()

way_1=opt.big_csv
way_2=opt.dataset_way
way_3=opt.wish_way
print(opt)



def main():
    #读取csv文件,不读取表头
    df=pd.read_csv(way_1,header=None)
    #读取csv中数据的行数
    index_num=len(df.index)

    for i in tqdm(range(index_num)):

        #提取csv文件中指定行
        row_data_1=df.iloc[i]     #1到3657
        #截取行中对应列的值
        image_name=row_data_1[0]
        bbox=row_data_1[1]
        # print(bbox)

        if bbox=='no_box':
            #删除没有目标的行
            df_wish=df.drop(i)
            #把no_box的图片抽取到单独的文件夹中
            img=cv2.imread('%s/%s.png'%(way_2,image_name))
            cv2.imwrite('%s/%s.png'%(way_3,image_name),img)


            #将no_box数据抽取出来的csv文件保存
            df_wish.to_csv('D:/Download/2021wheat_object_dectection/train_wish.csv',index=False)



if __name__ == '__main__':
    main()

2、代码效果:

在这里插入图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值