matlab批量删除满足某种条件的影像
listing = dir('*.tif'); %通过dir函数,将所有数据名称列出来
NUM_DATA = length(listing); %识别有多少个影像
for k=1:NUM_DATA
filename = listing(k,1).name;%获取文件名
data= imread(filename);
data(data<=0)=0;%背景值设为NaN
data(data>0)=1;%背景值设为NaN
if sum(data(:)==0)>1000 %0的个数大于1000的影像
delete(filename);
end
end
matlab批量重命名,例如:需要在文件名前加一个字符串"03"
listing = dir('*.hdr'); %通过dir函数,将所有数据名称列出来
NUM_DATA = length(listing); %识别有多少个文件
A=num2str(0);
B=num2str(3);
C=[A B]; %
for k=1:NUM_DATA
filename = listing(k,1).name; %获取文件名
newname = [C filename]; %文件名前加03
%newname=[filename(1:3) filename(7:10)]; %只保留文件名中 的头尾
eval(['!rename' 32 filename 32 newname]); %重命名
end
matlab批量复制、移动文件
filename='D:\new.init'; %原文件的完整文件名:
for p=1:36
STR1 = [num2str(p) '.init'];
mkdir(STR);
str1= ['D:\new\fenceng\dineof' STR1];%新文件的完整文件名:
filenamenew=str1;
movefile(filename_ori,filenamenew); % 移动文件:
% copyfile(filename,filenamenew); % 复制文件:
end