使用matlab批量处理图像后在指定文件夹存储

使用matlab批量处理图像后在指定文件夹存储

clear;clc;close all;
Files=dir(\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jpg\');
N=length(Files);
Names={};
Images={};

for k=1:N
    
        Names{k}=Files(k).name;
        Images{k}=imread([\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\\' Names{k}]); 
        
figure(k)
    imshow(Images{k})
end

其实没必要将读取的图片存为元胞数组!

即,将上面的Images={}撤销,直接存入B矩阵中即可!

B=

imread([\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\\' Names{k}]); 

新的mytest.m文件代码:


clear;clc;close all;
Files=dir(\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak2\*.jpg\');
N=length(Files);
Names={};
% Images={};

for k=1:N
    
        Names{k}=Files(k).name;
        B=imread([\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak2\\' Names{k}]); 
        figure(k)
        imshow(B)
%       imwrite([B,strcat([\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak3\\' Images{k}]),\'jpg\']);
        path=\'D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak3\\'; 
        file=Files(k).name; 
        pathfile=fullfile(path,file); 
        imwrite(B,pathfile,\'jpg\');
end

fullfile函数

利用文件各部分信息创建合成完整文件名。

用法:

fullfile(\'dir1\', \'dir2\', ..., \'filename\')

f = fullfile(\'dir1\', \'dir2\', ..., \'filename\')

解释:若文件\'100.hea\' 的路径为\'D:\matalab\xindianshuju\wenjian\100.hea\',

那么 \'dir1\'=\'D:\';\'dir2\'=\'matlab\';\'dir3\'=\'xindianshuju\';‘dir4\'=\'wenjian\';\'filename\'=\'100.hea\'

1.根据磁盘名、目录名和文件名创建完整文件名

f = fullfile(\'C:\', \'Applications\', \'matlab\', \'myfun.m\')

f =

C:\Applications\matlab\myfun.m

2.下面的两个例子在UNIX平台下产生相同的结果,但只有第二个例子能在所有平台上工作。

>>fullfile(matlabroot, \'toolbox/matlab/general/Contents.m\')

fullfile(matlabroot, \'toolbox\', \'matlab\', \'general\',\'Contents.m\')

ans =

D:\Program Files\MATLAB\R2008a\toolbox\matlab\general\Contents.m

ans =

D:\Program Files\MATLAB\R2008a\toolbox\matlab\general\Contents.m


Matlab中连续读入并处理图像,然后保存至指定文件夹下-dir,strcat,fullfie,imread,imwrite - super771的专栏 - CSDN博客 http://blog.csdn.net/super771/article/details/7345667