• 大小: 616B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签: matlab  

资源简介

%高斯金字塔分成两步: 一对图像做高斯平滑, 二向下采样 %以演示开始.后面是处理过程

资源截图

代码片段和文件信息

function Y = morphological(M1 M2 zt ap mp)
%Y = morphological(M1 M2 zt ap mp) image fusion with morphological difference pyramid
[z1 s1] = size(M1);
[z2 s2] = size(M2);
if (z1 ~= z2) | (s1 ~= s2)
  error(‘Input images are not of same size‘);
end;
E = cell(1zt);
for i1 = 1:zt 
  [z s]  = size(M1); 
  zl(i1) = z; sl(i1)  = s;
  if (floor(z/2) ~= z/2) ew(1) = 1; else ew(1) = 0; end;
  if (floor(s/2) ~= s/2) ew(2) = 1; else ew(2) = 0; end;
  if (any(ew))
   M1 = adb(M1ew);
   M2 = adb(M2ew);
  end;
  [z1 s1] = size(M1);
O1 = ordfilt2(ordfilt2(es2(M1 3) 1 ones(5)) 25 ones(5));
O2 = ordfilt2(ordfilt2(es2(M2 3) 1 ones(5)) 25 ones(5));
O1 = ordfilt2(ordfilt2(O1 25 ones(5)) 1 ones(5));
O2 = ordfilt2(ordfilt2(O2 25 ones(5)) 1 ones(5));
  O1 = O1(4:z1+34:s1+3);
  O2 = O2(4:z1+34:s1+3);
  Z1 = dec2(O1);
  Z2 = dec2(O2);
  O1 = ordfilt2(es2(undec2(dec2(O1)) 3) 49 ones(7));
  O2 = ordfilt2(es2(undec2(dec2(O2)) 3) 49 ones(7));
  O1 = O1(4:z1+34:s1+3);
  O2 = O2(4:z1+34:s1+3);
  E(i1) = {selc(M1-O1 M2-O2 ap)};
  M1 = Z1;
  M2 = Z2;
end;  
M1 = selb(M1M2mp);
for i1 = zt:-1:1
  M1 = ordfilt2(es2(undec2(M1) 3) 49 ones(7));
M1 = M1(4:ceil(zl(i1)/2)*2+34:ceil(sl(i1)/2)*2+3);
  M1  = M1 + E{i1};
  M1  = M1(1:zl(i1)1:sl(i1));
end;
Y = M1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1336  2009-03-25 16:22  morphological.m

----------- ---------  ---------- -----  ----

                 1336                    1


评论

共有 条评论