• 大小: 695B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签: ABS  

资源简介

自适应波段选择 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


评论

共有 条评论