如何在torch7中从本地磁盘读取保存在不同子文件夹中的图像?

我有些图片保存在桌面上,数据保存格式如下:有4个主文件夹(1、2、3和4),每个文件夹都有26个子文件夹(这些子文件夹代表了图片的类别(A、B、C、D、...、Z))。每个子文件夹中都包含500多张图片。但是,我正在寻找一个在torch中可以读取这些图片的文件或代码。在MATLAB中,我可以编写代码,但在这里我感到困惑。请问是否能给我建议。

点赞
用户1688185
用户1688185

你可以使用 Penlight(在安装 Torch 时已经安装了该库)。

Penlight 提供了 pl.dir,使得在(子-)文件夹中扫描文件非常容易。例如,您可以这样做:

local pl = require('pl.import_into')()
local t = {}
for i,f in ipairs(pl.dir.getallfiles('/data/foo', '*.jpg')) do
    t[i] = { f, pl.path.basename(pl.path.dirname(f)) }
end

这将创建一个对 (文件名,类标签 ="A" 或 "B" ...) 的列表。当然,您可以自由更改文件模式(*.jpg),或者省略它(在这种情况下,Penlight 将简单地列出所有文件)。您也可以在运行时加载图像:

t[i] = { image.load(f), pl.path.basename(pl.path.dirname(f)) }

或者在操作 t 时立即执行这个操作。

2015-07-16 07:41:16