IP Lab Final
IP Lab Final
Image Subtraction
clc;
clear all;
close all;
a=imread('C:\Users\HP\Desktop\mat image\mona.jpg');
b=imread('C:\Users\HP\Desktop\mat image\mona.jpg');
c=a-b;
clc;
clear all;
close all;
First_Image=imread('lenna.jpg');
Second_Image=imread('lenna.jpg');
clc;
clear all;
close all;
original_image = imread('C:\Users\HP\Desktop\mat image\btkit.jpg');
gray_image=rgb2gray(original_image);
complemented_image = imcomplement(gray_image);
clc;
clear all;
close all;
original_image = imread('nituk.jpg');
gray_image=rgb2gray(original_image);
complemented_image = imcomplement(gray_image);
clc,clear all;
a= imread('ein.jpg');
disp('Enter the Rows and Columns value to crop the image:')
row_start=input('row start:');
row_end=input('row end:');
col_start=input('column start:');
col_end=input('column end:');
cropped_image = a(row_start:row_end,col_start:col_end,:);
subplot(1,2,1), imshow(a), title('original image');
subplot(1,2,2), imshow(cropped_image), title('cropped image');
3. Image Cropping
x = im2col(image,[8 8],'distinct');
mx = mean(x');
z = x - mx';
Cz = cov(z');
[V,D] = eig(Cz);
y = V'*z;
dr = 20;
y(1:dr,:) = zeros(dr,size(y,2));
z2 = inv(V')*y;
x2 = z2 + mx';
figure(1)
subplot(122)
imagesc(col2im(x2,[8 8],[fix(size(im,1)/8)*8 fix(size(im,2)/8)*8],'distinct'));colormap gray;
axis image
title('Compressed')
5. KL Transform
clc,close all, clear all;
im=imread('ktm.jpg');
im2=rgb2gray(im(1:fix(size(im,1)/8)*8,1:fix(size(im,2)/8)*8,:));
image = double(im2)/255; %convert to double and normalize to [0,1]
figure(1)
subplot(121)
imagesc(image);colormap gray; axis image
title('Original')
%% Evaluate covariance
x = im2col(image,[8 8],'distinct'); % convert to 8x8 blocks, each block in column
mx = mean(x'); % calculate mean and save it for further processing
z = x - mx'; % zero-mean variable
%histogram(z(:),'Normalization','pdf')
Cz = cov(z'); % covariance matrix of
%% Decorrelation - KLT
[V,D] = eig(Cz); % Eigen-matrix of covariace
y = V'*z; % Values in y are decorrelated, Cy = diag(D)
% compression: drop dr rows
dr = 20;
y(1:dr,:) = zeros(dr,size(y,2));
%% Restore
z2 = inv(V')*y;
x2 = z2 + mx';
figure(1)
subplot(122)
imagesc(col2im(x2,[8 8],[fix(size(im,1)/8)*8 fix(size(im,2)/8)*8],'distinct'));colormap gray;
axis image
title('Compressed')