You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用imageio的mimread读取同一目录下的多张图片?

问题解析

首先明确:imageio.mimread()并不适用于读取目录下的多个独立图片文件——它的核心用途是读取单个包含多帧的媒体文件(比如动画GIF、多页TIFF、MP4视频等)。你直接传入目录路径时,它会尝试把目录当作一个合法的媒体文件解析,自然会抛出RuntimeError。

正确解决方案

要读取目录下的多个JPG图片,你可以通过以下两种方式实现:

方案1:手动遍历并读取(最直观可靠)

用glob模块匹配目录下的所有JPG文件,按文件名排序后逐个读取:

import imageio
import glob

# 替换为你的test目录路径,匹配所有jpg文件并按名称排序
image_paths = sorted(glob.glob("/path/to/test/*.jpg"))
# 批量读取图片到列表中
image_sequence = [imageio.imread(img_path) for img_path in image_paths]

这样得到的image_sequence就是包含两张图片数组的列表,和你期望mimread返回的格式一致。

方案2:利用imageio的序列读取器(更贴近多帧API风格)

如果你想使用更接近mimread的写法,可以用imageio.get_reader并指定序列格式:

import imageio

# 传入目录路径+通配符,指定格式为"jpg"
reader = imageio.get_reader("/path/to/test/*.jpg", format="jpg")
image_sequence = list(reader)

这个方式本质也是遍历目录下的图片,但封装成了读取器接口,适合习惯使用imageio媒体读取API的场景。

补充说明

两种方案都能保证按文件名顺序读取图片(sorted和序列读取器都会默认按文件名排序),如果你的图片命名是0.jpg、1.jpg这种有序命名,完全可以保证读取顺序正确。

内容的提问来源于stack exchange,提问作者jjjjjj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:39:53