how can I show the denoised image after applying pca to a noisy image.

5 views (last 30 days)
im=imread('cameraman.tif'); im1=imresize(im,[50,50]); im=double(im1); figure(1);imshow(im,[]); sig=10; noi=sig*randn(size(im)); data=im+noi; figure(2);imshow(data,[]);
[m,n]=size(data);
mn = mean(data,2); data = data-repmat(mn,1,n); covari=data*data'/n-1; [PC,V] = eig(covari); diav = diag(V); [junk, rindices] = sort(-1*diav); V = diav(rindices); PC = PC(:,rindices);
  3 Comments
Shaveta Arora
Shaveta Arora on 31 Jan 2016
im=imread('cameraman.tif');
im1=imresize(im,[50,50]);
im=double(im1);
figure(1);imshow(im,[]);
sig=10;
noi=sig*randn(size(im));
data=im+noi; %noised image
figure(2);
imshow(data,[]);
[m,n]=size(data);
mn = mean(data,2);
data = data-repmat(mn,1,n);
covari=data*data'/n-1;
[PC,V] = eig(covari);
diav = diag(V);
[junk, rindices] = sort(-1*diav);
V = diav(rindices);
PC = PC(:,rindices);
Shaveta Arora
Shaveta Arora on 31 Jan 2016
PC represents principal components of noisy image i.e data. Now pls help me how to get the image from these PCs.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 31 Jan 2016
figure;
imshow(PC, [], 'InitialMagnification', 1600);
title('PC Image', 'FontSize', 20);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!