6种融合算法.rar

  • gshang
    了解作者
  • matlab
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 6
    下载次数
  • 2021-03-15 19:49
    上传日期
小波图像融合的6种方法,最大值、局部能量、平均值等等
6种融合算法.rar
  • carnengliangmax.m
    1.2KB
  • carlingyuhemax.m
    1.2KB
  • carxishujueduizhihemax.m
    797B
  • carquyumin.m
    1.2KB
  • carquyufangcha.m
    1.2KB
  • carquyumax.m
    1.2KB
内容介绍
clear all; close all; x=imread('car1.bmp'); y=imread('car2.bmp'); a=rgb2gray(x); b=rgb2gray(y); a=double(a); b=double(b); [aA,aH,aV,aD]=dwt2(a,'bior2.4'); [bA,bH,bV,bD]=dwt2(b,'bior2.4'); newA=zeros(size(aA)); newH=zeros(size(aH)); newV=zeros(size(aV)); newD=zeros(size(aD)); [m,n]=size(aA); for i=1:m for j=1:n newA(i,j)=(aA(i,j)+bA(i,j))/2; end; end; % 求方差 fun=inline('var(x(:))'); Var_aH=nlfilter(aH,[3 3],fun); Var_aV=nlfilter(aV,[3 3],fun); Var_aD=nlfilter(aD,[3 3],fun); Var_bH=nlfilter(bH,[3 3],fun); Var_bV=nlfilter(bV,[3 3],fun); Var_bD=nlfilter(bD,[3 3],fun); % 取方差大的 for i=1:m for j=1:n if Var_aH(i,j)>=Var_bH(i,j) newH(i,j)=aH(i,j); else newH(i,j)=bH(i,j); end end end for i=1:m for j=1:n if Var_aV(i,j)>=Var_bV(i,j) newV(i,j)=aV(i,j); else newV(i,j)=bV(i,j); end end end for i=1:m for j=1:n if Var_aD(i,j)>=Var_bD(i,j) newD(i,j)=aD(i,j); else newD(i,j)=bD(i,j); end end end new=idwt2(newA,newH,newV,newD,'bior2.4'); new=uint8(new); figure; imshow(new); title('区域方差取大')
评论
    相关推荐