使用 torch7 从本地磁盘读取图像,而这些图像保存在不同的子文件夹中?
Read images from local disk using torch7 while those images saved in different subfolders?
我有图片保存在桌面上。保存的数据如下:4个主文件夹(1,2,3,4)每个文件夹有26个子文件夹(这些子文件夹代表class张图片(A,B,C,D,..,Z)) .这些子文件夹中的每一个都包含 500 多张图像。但是,我正在 torch 中寻找可以读取这些图像的文件或代码。在 MATLAB 中我可以编写代码,但在这里我发现它很混乱。能不能请教一下。
你可以做的是在安装 Torch 时使用 Penlight (the library 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
这将创建一个对列表(文件名,class 标签 = "A" 或 "B" ...)。当然,您可以自由更改文件模式 (*.jpg
) 或省略它(在这种情况下,Penlight 将简单地列出所有文件)。您还可以动态加载图像:
t[i] = { image.load(f), pl.path.basename(pl.path.dirname(f)) }
或者在操作 t
之后立即执行此操作。
我有图片保存在桌面上。保存的数据如下:4个主文件夹(1,2,3,4)每个文件夹有26个子文件夹(这些子文件夹代表class张图片(A,B,C,D,..,Z)) .这些子文件夹中的每一个都包含 500 多张图像。但是,我正在 torch 中寻找可以读取这些图像的文件或代码。在 MATLAB 中我可以编写代码,但在这里我发现它很混乱。能不能请教一下。
你可以做的是在安装 Torch 时使用 Penlight (the library 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
这将创建一个对列表(文件名,class 标签 = "A" 或 "B" ...)。当然,您可以自由更改文件模式 (*.jpg
) 或省略它(在这种情况下,Penlight 将简单地列出所有文件)。您还可以动态加载图像:
t[i] = { image.load(f), pl.path.basename(pl.path.dirname(f)) }
或者在操作 t
之后立即执行此操作。