% ========================================================================= % Math 336 - Image Processing - Laboratory 5 % % Image Fusion Exercise % % Marty Kandes % Department of Physics % San Diego State University % Fall 2008 % ------------------------------------------------------------------------- clear all; close all; clc; A = imread('ImageA.png'); A = double(A)/256; NUMLEVELS = 6; LPA = lpd(A,'9/7',NUMLEVELS); figure; colormap(gray); NUMROWS = floor(sqrt(NUMLEVELS+1)); NUMCOLS = ceil((NUMLEVELS+1)/NUMROWS); for LEVEL = 1:NUMLEVELS+1 subplot(NUMROWS,NUMCOLS,LEVEL); imageshow(LPA{LEVEL}); end; B = imread('ImageB.png'); B = double(B)/256; NUMLEVELS = 6; LPB = lpd(B,'9/7',NUMLEVELS); figure; colormap(gray); NUMROWS = floor(sqrt(NUMLEVELS+1)); NUMCOLS = ceil((NUMLEVELS+1)/NUMROWS); for LEVEL = 1:NUMLEVELS+1 subplot(NUMROWS,NUMCOLS,LEVEL); imageshow(LPB{LEVEL}); end; LPS = cell(1,NUMLEVELS+1); for LEVEL = 1:NUMLEVELS+1 TEMPA = LPA{LEVEL}; TEMPB = LPB{LEVEL}; [M,N] = size(TEMPA); TEMPS = zeros(M,N); for I = 1:M/2-1 for J = 1:N TEMPS(I,J) = TEMPA(I,J); end; end; for J = 1:N TEMPS(M/2,J) = (TEMPA(M/2,J)+TEMPB(M/2,J))/2; end; for I = M/2+1:M for J = 1:N TEMPS(I,J) = TEMPB(I,J); end; end; LPS{LEVEL} = TEMPS; end; figure; colormap(gray); NUMROWS = floor(sqrt(NUMLEVELS+1)); NUMCOLS = ceil((NUMLEVELS+1)/NUMROWS); for LEVEL = 1:NUMLEVELS+1 subplot(NUMROWS,NUMCOLS,LEVEL); imageshow(LPS{LEVEL}); end; S = lpr(LPS,'9/7'); S = mat2gray(S); imshow(S); imwrite(S,'fusedImageAandB.jpg','jpg');