You are on page 1of 13

DIP LAB 09

Dip lab

ARSLAN ABDUL RAUF 18-SE-95 Lab 09


With average:

clc;close all;
img = imread('cameraman.tif');
imgd=imnoise(img, 'salt & pepper' , 0.05);
[m,n]=size(imgd);
g=zeros(m+2,n+2);
output=zeros(size(imgd));
for i=1:m
for j=1:n
g(i+1,j+1)=imgd(i,j);
end
end
sum=0;
x=0;
y=0;
for i=1:m
for j=1:n
for k=1:3
for l=1:3
sum= sum+g(i+x,j+y);
y=y+1;
end
y=0;
x=x+1;
end
x=0;
ans(i,j)=(1/(3*3))*(sum);
sum=0;
end
end
subplot(1,3,1) ,imshow(img);title('Original Image');
subplot(1,3,2) ,imshow(imgd);title('Noisy Image');
subplot(1,3,3) ,imshow(uint8(ans)); title('smooth with average filter');
WITH Median:
clc;close all;
img = imread('cameraman.tif');
imgd = im2double(img);
imgd=imnoise(imgd, 'salt & pepper' , 0.05);
[x , y]=size(imgd);
g=zeros(x+2,y+2);
B=zeros(size(imgd));
for i=1:x
for j=1:y
g(i+1,j+1)=imgd(i,j);
end
end
for i=1:size(g,1)- 2
for j=1:size(g,2) - 2
window = zeros(3,3);
inc=1;
for x =1:3
for y = 1:3
window(inc)= g(i+x-1,j+y-1);
inc=inc+1;
end
end
med=sort(window);
disp(med)
B(i,j)= med(5);
end
end
subplot(1,3,1) ,imshow(img);title('Original Image');
subplot(1,3,2) ,imshow(imgd);title('Noisy Image');
subplot(1,3,3) ,imshow(B); title('smooth with median filter');

TASK # 2:
clear;clc;close all;
img = imread('cameraman.tif');
a = imnoise(img,'Gaussian');
I = double(a);
sigma = 1.5;
sz = 3;
[x,y]=meshgrid(-sz:sz,-sz:sz);
m = size(x,1)-1;
n = size(y,1)-1;
Exp_comp = -(x.^2+y.^2)/(2*sigma*sigma);
Kernel= exp(Exp_comp)/(2*pi*sigma*sigma);
Output=zeros(size(I));
I = padarray(I,[sz sz]);
for i = 1:size(I,1)-m
for j =1:size(I,2)-n
Temp = I(i:i+m,j:j+m).*Kernel;
Output(i,j)=sum(Temp(:));
end
end
figure,
subplot(1,3,1),imshow(img),title('Original Image');
subplot(1,3,2),imshow(a),title('Noisy Image');
subplot(1,3,3),imshow(uint8(Output)),title('After Gaussian Blur');

You might also like