Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
matlab code for image fusion using pca
#1

Plz, help me with the PCA code for doing image fusion. i need the program with an example. i tried for cameraman image but getting the output as complete black. i blurred it at two different places so i hav i1 n i2 which are blurred images which i converted to zero mean images i_1 n i_2.This is my program. what to do next?

clc;
close all;
clear all;
f1=imread('cameraman.tif');
figure(1);
imshow(f1);
[m n]=size(f1);
f1=im2double(f1);
level=input('enter the level of blur');
degradation=fspecial('average',[2*level 2*level]);
i1=f1;
i1(10:floor(n/3),30:floor(4*m/5))=imfilter(f1(10:floor(n/3),30:floor(4*m/5)),degradation,'replicate');
figure(2);
imshow(i1);
m1=mean(mean(i1));
i_1=i1-m1;
i_1=im2double(i_1);
i1t=i_1.';
i1t=im2double(i1t);
[p q]=size(i_1);
N=p*q;
cov=0;
cov=cov+((1/N)*(i_1*i1t));
[a,b]=eig(cov);
eigenval=diag(b);
[eigenval,ind]=sort(eigenval,'descend');
eigenvec=a(:,ind);
eigenval=eigenval(1:250);
eigenvec=eigenvec(:,1:250);
figure(5);
imshow(eigenvec);
% Computing the transformation matrix
A=eigenvec(:,1:250)';
figure(6);
imshow(A);
i2=f1;
i2(floor(n/2):floor(7*n/8),floor(m/3):floor(9*m/10))=imfilter(f1(floor(n/2):floor(7*n/8),floor(m/3):floor(9*m/10)),degradation,'replicate');
figure(3);
imshow(i2);
m2=mean(mean(i2));
i_2=i2-m2;
i_2=im2double(i_2);
i2t=i_2.';
i2t=im2double(i2t);
[u v]=size(i_2);
M=u*v;
cov1=0;
cov1=cov1+((1/M)*(i_2*i2t));
[a1,b1]=eig(cov1);
eigenval1=diag(b);
[eigenval1,ind1]=sort(eigenval1,'descend');
eigenvec1=a1(:,ind1);
eigenval1=eigenval1(1:250);
eigenvec1=eigenvec1(:,1:250);
figure(7);
imshow(eigenvec1);
% Computing the transformation matrix
A1=eigenvec1(:,1:250)';
figure(8);
imshow(A1);
fu=0;
fu=fu+((A*i_1)+(A1*i_2));
figure(4);
imshow(fu);
Reply

#2
please contact me on [email protected]
I developed very short & simple matlab code for image fusion using PCA.
Reply



Forum Jump:


Users browsing this thread:
2 Guest(s)

Powered By MyBB, © 2002-2024 iAndrew & Melroy van den Berg.