2014-02-06 45 views
0

我有10个图像的所有命名ax1.png .. ax2.png一路ax10.png阅读并调整PNG文件matlab的

我的目标看他们都在和调整它们的大小。

我曾尝试以下:

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 

但它似乎并没有工作。我想创建新的调整大小的图像,并将它们保存在我的目录中。请问为什么这不起作用会有一些建议?

+0

什么不数工作?任何错误消息? – Daniel

+0

@丹尼尔没有没有错误信息。我只是没有得到一个目录,并没有得到调整大小的图像 – Ph9

+0

你有文件夹'mrivolumeimages'的写入权限吗? –

回答

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 
1

您需要使用dir wildchars('*'),而不是字符串格式字符('%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 
+0

谢谢!我现在得到一个错误,说它不能写入文件夹? – Ph9

+0

@ Ph9你是否创建过''New_folder''?如果你必须使用'mkdir' ... – Shai

+0

谢谢我把它用于下面的代码: – Ph9