使用torch7从本地磁盘读取图像,而这些图像保存在不同的子文件夹中?

时间:2015-07-16 02:10:44

标签: lua luajit torch

我有保存在桌面上的图像。保存的数据如下:4个主文件夹(1,2,3和4)每个文件夹有26个子文件夹(这些子文件夹代表图像类(A,B,C,D,..,Z))。这些子文件夹中的每一个都包含500多个图像。但是,我正在寻找能够读取这些图像的火炬中的文件或代码。在MATLAB中我可以写一个代码,但在这里我觉得它很混乱。你能告诉我吗。

1 个答案:

答案 0 :(得分:1)

您可以使用Penlight(安装Torch时库is installed)。

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之后立即执行此操作。