浏览指定目录下的各个子目录,如 ./imgs /1 /2 /3 每个子目录下有对应数字的图片。 写程序可以自动读取每个子目录下的图片,每读一张图片生成一个列表 [图片x,标签],这里标签为图片所在目录的名字,如:0,1,2,3,... 将每次生成的列表作为一个元素加入总图片列表,最终把该总列表存入磁盘文件中。
时间: 2023-05-21 16:02:10 浏览: 229
可以使用Python的os和PIL库来实现这个功能。具体代码如下:
```python
import os
from PIL import Image
# 指定目录
dir_path = './imgs'
# 存储所有图片的列表
img_list = []
# 遍历目录下的所有子目录
for subdir in os.listdir(dir_path):
subdir_path = os.path.join(dir_path, subdir)
# 如果是目录
if os.path.isdir(subdir_path):
# 遍历子目录下的所有图片
for img_name in os.listdir(subdir_path):
img_path = os.path.join(subdir_path, img_name)
# 如果是图片文件
if os.path.isfile(img_path) and img_name.endswith('.jpg'):
# 打开图片并获取标签
img = Image.open(img_path)
label = subdir
# 将图片和标签加入列表
img_list.append([img, label])
# 将总列表存入磁盘文件中
with open('img_list.txt', 'w') as f:
for img, label in img_list:
f.write(label + '\t' + img.filename + '\n')
```
这段代码会遍历指定目录下的所有子目录,读取每个子目录下的图片,并将每张图片和其所在目录的名字作为一个元素加入总图片列表。最终,将总列表存入磁盘文件中。
阅读全文