当前所在位置: 首页 > 计算机 > 正文

图像拼接算法及实现(第13页)

29 次下载 16 页 26845 字【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

%    ap - coefficient selection highpass (see selc.m)

%    mp - coefficient selection base image (see selb.m)

%

%    Y  - fused image  

 

%    (Oliver Rockinger 16.08.99)

 

% check inputs

[z1 s1] = size(M1);

[z2 s2] = size(M2);

if (z1 ~= z2) | (s1 ~= s2)

  error('Input images are not of same size');

end;

 

% define filter

w  = [1 4 6 4 1] / 16;

 

% cells for selected images

E = cell(1,zt);

 

% loop over decomposition depth -> analysis

for i1 = 1:zt

  % calculate and store actual image size

  [z s]  = size(M1);

  zl(i1) = z; sl(i1)  = s;

 

  % check if image expansion necessary

  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;

 

  % perform expansion if necessary

  if (any(ew))

     M1 = adb(M1,ew);

     M2 = adb(M2,ew);

  end;   

 

  % perform filtering

  G1 = conv2(conv2(es2(M1,2), w, 'valid'),w', 'valid');

  G2 = conv2(conv2(es2(M2,2), w, 'valid'),w', 'valid');

 

  % select coefficients and store them

  E(i1) = {selc(M1-G1, M2-G2, ap)};

 

  % decimate

  M1 = dec2(G1);

  M2 = dec2(G2);

end;

 

% select base coefficients of last decompostion stage

M1 = selb(M1,M2,mp);

 

% loop over decomposition depth -> synthesis

for i1 = zt:-1:1

  % undecimate and interpolate

  M1T = conv2(conv2(es2(undec2(M1), 2), 2*w, 'valid'), 2*w', 'valid');

  % add coefficients

  M1  = M1T + E{i1};

  % select valid image region

  M1    = M1(1:zl(i1),1:sl(i1));

end;

 

% copy image

Y = M1;

 

  5.2 .4  小波变换(DWT)算法程序

  在众多的图像融合技术中,基于小波变换的图像融合方法已成为现今研究的一个热点。这类算法主要是利用人眼对局部对比度的变化比较敏感这一事实,根据一定的融合规则,在多幅原图像中选择出最显著的特征,例如边缘、线段等,并将这些特征保留在最终的合成图像中。在一幅图像的小波变换中,绝对值较大的小波系数对应于边缘这些较为显著的特征,所以大部分基于小波变换的图像融合算法主要研究如何选择合成图像中的小波系数,也就是三个方向上的高频系数,从而达到保留图像边缘的目的。虽然小波系数(高频系数)的选择对于保留图像的边缘等特征具有非常主要的作用,但尺度系数(低频系数)决定了图像的轮廓,正确地选择尺度系数对提高合成图像的视觉效果具有举足轻重的作用。

  基于SIDWT(Shift Invariance Discrete Wavelet Transform)小波变换的算法程序:

function Y = fuse_sih(M1, M2, zt, ap, mp)

%Y = fuse_sih(M1, M2, zt, ap, mp) image fusion with SIDWT, Wavelet is Haar

%

%    M1 - input image A

%    M2 - input image B

%    zt - maximum decomposition level

%    ap - coefficient selection highpass (see selc.m)

阅读全文