阅读并调整png文件的大小

时间:2014-02-06 14:32:07

标签: matlab image-processing

我有10张图片全部名为ax1.png .. ax2.png一直到ax10.png

我的目标是全部阅读并调整它们。

我尝试了以下内容:

fileFolder = 'mrivolumeimages';
dirOutput = dir(fullfile(fileFolder,'ax%d.png'));
fileNames = {dirOutput.name};

for k=1:length(fileNames)
    H=fileNames{k};
    S=imread(H);
    I=imresize(S, [690 896]);
    [SUCCESS,MESSAGE,MESSAGEID] = mkdir('mrivolumeimages','New_folder');
    imwrite(I,fullfile('New_folder',H));
end

但它似乎不起作用。我想创建新的已调整大小的图像并将其保存在我的目录中。我可以请一些关于为什么这不起作用的建议吗?

2 个答案:

答案 0 :(得分:1)

您需要在'*'中使用wildchars(dir)而不是字符串格式字符('%d'):

dirOutput = dir(fullfile(fileFolder,'ax*.png'));

或者,您可以使用

指定数字
for k=1:10
    H = fullfile( fileFolder, sprintf( 'ax%d.png', k )  );
    % and you can continue from here...
end

答案 1 :(得分:0)

fileFolder = '/Users/PJ/Documents/MATLAB/ToolboxLS-1.1.1/Dissertation/mrivolumeimages';
dirOutput = dir(fullfile(fileFolder,'ax*.png'));
fileNames = {dirOutput.name};

for k=1:length(fileNames)
  H=fileNames{k};
  S=imread(H);
  I=imresize(S, [896 690]);
  [SUCCESS,MESSAGE,MESSAGEID] = mkdir('ResizedAx');
  imwrite(I,fullfile('ResizedAx',H));
end
相关问题