作者:ZephyrHou 2017-07-10 版权所有,欢迎交流学习。
当我们使用MATLAB进行遥感影像操作时,常常需要将最后的结果保存为ENVI能够读取的格式,此时我们需要生成头文件信息。具体如下:
1.关于HDR文件格式
首先我们先看一下具体的HDR文件内容都有哪些,如下是打开的某影像的头文件信息:
2.下面我们根据上面内写出一个生成头文件信息的程序,具体如下:
% 生成*.hdr文件
% 先将HDR文件中每行的主要字符串写出
h1='ENVI';
h2='description = { Binary Data }';
h3=strcat('samples = ',num2str(cols));
h4=strcat('lines = ',num2str(rows));
h5=strcat('bands = ',num2str(bands));
h6='header offset = 0';
h7='file type = ENVI Standard';
h8='data type = 5';
h9='interleave = bsq';
h10='sensor type = Unknown';
h11='byte order = 0';
h12='wavelength units = Unknown';
h={};
% 然后将这些HDR文件中必要的信息分别作为一个独立元素存于胞元h中
h={h1;h2;h3;h4;h5;h6;h7;h8;h9;h10;h11;h12};
% 下面就是最重要的部分了,将其写入txt文本文件中
fid=fopen(‘imgery123.hdr,'wt');
for i=1:12;
fprintf(fid,'%s\n',h{i});
end
fclose(fid)