机器视觉-实验五报告-多曝光图像融合算法
- 格式:docx
- 大小:269.93 KB
- 文档页数:5
实验五报告多曝光图像融合算法
一、 实验目的
多曝光图像的融合算法实现。
二、实验设备
微机
三、实验内容及步骤
多曝光图像的融合算法实现。
1. 上机编写程序。
2. 调试程序。
3. 根据实验结果,撰写实验报告。
四、实验报告
图像融合算法程序:
function Y = fuse_fsd(M1, M2,zt,ap,mp)
%Y = fuse_fsd(M1, M2,zt,ap,mp) image fusion with fsd pyramid
%
% M1 - input image A
% M2 - input image B
% zt - maximum decomposition level
% 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;
实验结果:
图4-1中左边的目标较为清晰,图4-2中右边的目标较为清晰。
图4-1 聚焦在左边的图像
图4-2 聚焦在右边的图像
利用金字塔图像融合算法程序得到的的融合图像结果,如图4-3
图4-3 基于金字塔图像融合算法的融合图像