python使用Path读取大文件夹下(小文件夹中)的所有图片

本文介绍如何利用Python的Path模块在包含多个子文件夹的目录结构中查找并读取所有jpg图片。特别是当需要在深度学习项目如yolov5中对这些图片进行推断时,需要对原LoadImages类进行适当修改以适应这种文件结构。
摘要由CSDN通过智能技术生成

在一个文件夹A里,有很多小文件夹,小文件夹里面还有小小文件夹,小小文件夹里面有图片。要读取文件夹A里面的所有某一类型的文件(比如jpg图片),可以使用Path包。

from pathlib import Path

path = './folder/A'

img_formats = ['.bmp', '.jpg', '.jpeg', '.png', '.tif', '.dng']

p = Path(path)
images=p.rglob('*.*')
images=[x for x in images if str(x)[-4:] in img_formats]
images=[str(x) for x in images]   # 得到所有图片路径组成的列表

如果想使用yolov5对像以上存放的图片全部进行推断的话,原本程序的代码就无法满足要求,我们稍微修改下代码即可。

在yolov5项目的代码里面,对utils/datasets.py的 LoadImages类 进行修改:

class LoadImages:  # for inference
    def __init__(self, path, img_size=416):
        # path = str(Path(path))  # os-agnostic
        # files = []
        # if os.path.isdir(path):
        #     files = sorted(glob.glob(os.path.join(path, '*.*')))
        # eli
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值