python - 从一个目录加载所有图像,但打开的文件太多
问题描述
我的当前目录中有 1,000 多张 JPEG 图像。首先,我试图将它们保存为图像列表,然后将列表转换为 4d ndarray。我得到
[Errno 24] 打开的文件太多:
image_list = []
filename = 'data/training_images/'
for filename in glob.glob('data/training_images/*.jpg'):
im=Image.open(filename)
image_list.append(im)
# convert list of images into 4d ndarray: numOfImages x height x width x channel
我该如何解决这个问题?有更简单的选择吗?
解决方案
将您的代码更改为:
image_list = []
filename = 'data/training_images/'
for filename in glob.glob('data/training_images/*.jpg'):
im=Image.open(filename)
image_list.append(im)
im.close()
将图像附加到列表后,这将关闭每个文件。
推荐阅读
- c++ - UndefinedBehaviorSanitizer 致命信号错误不知道该怎么办
- excel - 让 IF 函数更高效
- javascript - 如何在运行时检查哪个模块在Javascript中调用了类的构造函数?
- python - AttributeError:“外星人”对象没有属性“矩形”
- android - 如何从片段内的列表视图打开链接网址?
- java - 如何在构建期间或 Spring Boot 启动期间验证注释?
- swift - SwiftUI:如何仅在用户停止输入 TextField 时运行代码?
- flutter - 如何在 Flutter 底部导航栏中的特定选项卡中加载数据
- python - 如何使用请求抓取单个 URL - 多页面
- docker - 如何在 sphinxsearch Docker 容器中运行索引器?