我在使用MATLAB读取和处理多个tiff文件时遇到问题,因为我是MATLAM软件的初学者。我有300张具有相同尺寸的tiff图像。我想循环这个过程,但是,我无法得到它。到现在为止,我每次只更改文件名来阅读和处理。我仍然没有得到应该从哪里开始。谁能帮我。在这里,我附上我的编码。
filename=('brd06330_s0239.tif');
fileinfo=imfinfo(filename);
Nfiles=numel(fileinfo);
Cloud=cell(Nfiles,1);
for n=1:Nfiles
A=imread(filename);
[rimg cimg]=size(A);
% Read by band (for this task only use band 1)
B1Channel = A(:, :, 1);
% A=imread(filename);
% [rimg cimg]=size(A);
%for channel 1
W_countB1 = sum(sum(B1Channel == 0)) % W= water
NW_countB1 = sum(sum(B1Channel > 0)) % NW= non water (cloud and land)
end
%save in text format(excel)
d=[W_countB1,NW_countB1]
colname={W_countB1,NW_countB1}
xlswrite('brd06330_s0239',d)
答案 0 :(得分:1)
尝试dir('*.tif')
,它将为您提供目录中所有TIFF的列表,然后您可以按照您的需要循环整个事物。
看起来像是:
files=dir('*.tif');
for i=1:length(files)
A=imread(file(i).name);
%//... whatever you want to do with your TIFFs
end
希望有所帮助。