2012-10-22 60 views
3

我正在對圖像文件集進行一些批處理,它要求文件應該在文件名的末尾添加一個附加的「_corrected」字符串,例如'IMG_001 .tif'應該在處理後保存爲'IMG_001_corrected.jpg'。在MATLAB中使用不同文件名批量保存圖像文件

這裏去我的代碼:

FileList = dir('srgb8bit/*.tif'); 
N = size(FileList,1); 

for k = 1:N 

    % get the file name: 
    filename = FileList(k).name; 
    I = imread(filename); 
    Icorr = CorrectedRetinexFM(I,8); 
    ** Here should go the save command** 

preferrably能夠選擇不同的目錄下將其保存到。這怎麼可能?

非常感謝您的幫助!

+4

您的代碼讀取圖片不能正常工作,因爲file.name場只包含文件,而不是它的路徑名。你需要'filename = ['srgb8bit /'FileList(k).name];'。您可以用相同的方式創建想要保存的文件。 – Isaac

回答

4

使用fileparts分割的文件名和其擴展名:

[pathstr, name, ext] = fileparts(FileList(k).name); 

注意pathstr是「」既然你已經剝離這一點。

然後imwrite這樣

imwrite(Icorr, [name '_corrected.jpg']);