在ENVI统计遥感多波段图像中每个波段的均值、方差、最大值、最小值是比较容易办到的,但是如果要处理多批的数据就没有那么方便了,这里转载一个MatLab读取ENVI图像(img+hdr)的程序,并且计算了相关系数。
之前我在利用MatLab读取ENVI图像里分享了一个MatLab读取ENVI图像的函数,这里可以用上这个函数,具体的请查看上篇文章。
在新的.m文件里面实现批处理程序,代码如下:
clc;
clear;
filestring='E:\郭\实验数据2\*.img';%计算不同的路径中的图像,只需更改这里
%______以下,对于没有显式扩展名的情况,添加扩展名'.img'_________________%
subfile=filestring;
changefile=strrep(subfile,'*.img','');%找到图像所在文件夹
cfile=dir(changefile);%找到该文件夹下所有文件
for k=1:length(cfile)
if (size(strfind(cfile(k).name,'.'))==0)%判断文件名中有没有'.',如果没有意味着没有扩展名
copyfile(strcat(changefile,cfile(k).name),strcat(changefile,strcat(cfile(k).name,'.img')));
%上面这句,为没有'.img'的添加上
%delete(strcat(changefile,cfile(k).name));%删除多余数据