1. 背景
主要实现将LLNet模型论文中的PGM格式的图像数据进行处理转换
2. 代码实现
function converTool(fromDir, fromFormat, toDir, toFormat, toPrefix)
% Inputs:
% fromDir: 输入的文件目录
% fromFormat: 输入的文件格式
% toDir: 保存文件的目录,层数同fromDir
% toFormat: 保存文件的格式
% toPrefix: 保存文件的前缀
% Author: HSW
% Date: 2018-05-05
filePaths = searchRoot(fromDir, fromFormat);
if ~exist(toDir, 'dir')
mkdir(toDir)
end
dirLen = length(fromDir);
fileCnt = length(filePaths);
for idx = 1 : fileCnt
filePath = filePaths{idx};
idxs = strfind(filePath, '\');
idxs2 = strfind(filePath, '.');
fileName = filePath(idxs(end) + 1 : idxs2(end) - 1);
from_img = imread(filePath);
saveName = [fileName, toFormat];
if ~isempty(toPrefix)
saveName = [toPrefix, saveName];
end
saveDir = fullfile(toDir, filePath(dirLen + 1 : idxs(end)));
if ~exist(saveDir, 'dir')
mkdir(saveDir)
end
savePath = [saveDir, saveName];
% 根据需要进行增加即可
if ~isempty(strfind(toFormat, 'jpg'))
imwrite(from_img, savePath, 'jpg');
elseif ~isempty(strfind(toFormat, 'bmp'))
imwrite(from_img, savePath, 'bmp');
elseif ~isempty(strfind(savePath, 'png'))
imwrite(from_img, savePath, 'png');
end
end
end
3. 代码效果(左边为PGM格式数据集合,右边为转换获取的PNG格式数据, 根据PGM格式数据的目录结构,建立相同的文件结构)