clc;clear all;close all;
img=imread('eight.tif');
d=0.02;

noise_img1=imnoise(img,'salt & pepper',d);
noise_img2=imnoise(img,'gaussian',d);
subplot(231)
imshow(noise_img1);title('salt and pepper noise');
subplot(234)
imshow(noise_img2);title('gaussian noise');
[row,col]=size(img);

norm=i/255;

%meanfilter on saltpeppernoise
window =  [1 1 1;1 1 1;1 1 1]/9 ;
meanImage = conv2(double(noise_img1), window, 'valid');
subplot(232)
imshow(meanImage,[]);title('mean filter without function');

%medianfilter
IG_N=noise_img2;
F_SP=zeros(row,col);
for i=2:row-1
    for j=2:col-1
        flt=[IG_N(i-1,j-1),IG_N(i-1,j),IG_N(i-1,j+1),IG_N(i,j-1),IG_N(i,j),IG_N(i,j+1),IG_N(i+1,j-1),IG_N(i+1,j),IG_N(i+1,j+1)];
        F_SP(i,j)=median(flt);
    end
end
subplot(235)
imshow(F_SP,[]);title('median filter without function');

%using inbuilt
h = fspecial('average', 3);
filtered = imfilter(noise_img1, h);
subplot(233)
imshow(filtered);title('mean fiter using function');
k=medfilt2(noise_img2);
subplot(236)
imshow(k);title('median filter uisng function');

Leave a comment