资源简介
自适应波段选择 ABS算法,在计算高光谱的波段选择中用到的算法
代码片段和文件信息
function ABS = ABS (image)
tic
[mnb]=size(image);
mean(1:b)=0;%每幅影像像素的平均值
for band=1:b
sum=0;
for x=1:m
for y=1:n
sum=sum+image(xyband);
end
end
sum=sum*1.0/(m*n);
mean(band)=sum;
end
%先求标准差
standard(1b)=0;%存储每个波段内的标准差
for band=1:b
sum=0;
for x=1:m
for y=1:n
sum=sum+(image(xyband)-mean(band))^2;
end
end
sum=sum*1.0/(m*n);
standard(band)=sqrt(sum);
end
%求相关系数
R(1b-1)=0;%记录第i个波段和第i+1个波段之间的相关系数
for band=1:b-1
mean1=0;
mean2=0;
mean3=0;%计算需要用到的三个中间均值变量
for x=1:m
for y=1:n
mean1=mean1+(image(xyband)-mean(band))*(image(xyband+1)-mean(band+1));
mean2=mean2+(image(xyband)-mean(band))^2;
mean3=mean3+(image(xyband+1)-mean(band+1))^2;
end
end
mean1=mean1*1.0/(m*n);
mean2=mean2*1.0/(m*n);
mean3=mean3*1.0/(m*n);
R(band)=mean1*1.0/(sqrt(mean2)*sqrt(mean3));
end
%计算ABS指数
index(1:b)=0;%在这里指数虽然赋了波段数的长短,但是考虑到要用到与前后波段的相关系数,于是头尾波段不做计算
for band=2:b-1
index(band)=standard(band)*1.0/((R(band-1)+R(band))*1.0/2);
end
index
[resultindexsort]=sort(index‘descend‘);%如果是一维数组那么第二个参数不要填,也不要填1
result
indexsort
toc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1412 2014-04-25 15:56 ABS.m
----------- --------- ---------- ----- ----
1412 1
- 上一篇:软件缺陷跟踪系统
- 下一篇:intel_sdk_for_opencl_2017
评论
共有 条评论