从多个子目录中读取多种数据类型的图像

时间:2019-04-06 16:52:29

标签: python directory glob subdirectory

我想使用glob函数从python的多个子目录中读取多种数据类型的图像

我已经从子目录中成功读取了JPG类型的图像。想知道如何读取多种数据类型的图像。以下是我到目前为止尝试过的代码

###########READ IMAGES OF MULTIPLE DATATYPES from a SINGLE Folder######

    import os
    import glob

    files = []
    for ext in ('*.jpg', '*.jpeg'):
       files.extend(glob(join("C:\\Python35\\target_non_target\\test_images", ext)))
    count=0   

    for i in range(len(files)):
        image=cv2.imread(files[i])
        print(image)

###### READ MULTIPLE JPG IMAGS FROM MULTIPLE SUBDIRECTORIES#########

import os
import glob
from glob import glob

folders = glob("C:\\Python36\\videos\\videos_new\\*")

img_list = []
for folder in folders:
    for f in glob(folder+"/*.jpg"):
        img_list.append(f)

for i in range(len(img_list)):
    print(img_list[i])

两个代码都可以正常工作,但是我很困惑如何包含从多个子目录读取多个数据类型图像的行。我有一个包含多个子目录的目录,其中包含多种数据类型的图像,例如JPG,PNG,JPEG等。我想阅读所有这些图像并在我的代码中使用它们

1 个答案:

答案 0 :(得分:1)

尝试一下:

import glob
my_root = r'C:\Python36\videos\videos_new'
my_exts = ['*.jpg', 'jpeg', '*.png']
files = [glob.glob(my_root + '/**/'+ x, recursive=True) for x in my_exts]  

请检出this,以了解多种递归搜索文件夹的方法。

另一方面,请注意:

for i in range(len(img_list)):  
    print(img_list[i])

使用python进行简单易读的for循环:

for img in img_list:
    print(img)