使用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
