pkg load image clear clc I = imread('peppers.bmp'); Iup = I(1:128,:); Idown = I(129:256,:); IupNoise = imnoise(Iup, 'salt & pepper', 0.05); IdownNoise = imnoise(Idown, 'salt & pepper', 0.25); Inoise = [IupNoise; IdownNoise]; Havg = (1/25)*ones(5); Hwa = (1/16)*[1 2 1; 2 4 2; 1 2 1]; ImedFilt = ordfilt2(Inoise,13,ones(5)); IavgFilt = imfilter(Inoise,Havg); IwaFilt = imfilter(Inoise,Hwa); psnrMED = psnr(ImedFilt,I,255); psnrAVG = psnr(IavgFilt,I,255); psnrWA = psnr(IwaFilt,I,255); subplot(2,3,1), imshow(I,[0 255]), title('Original') subplot(2,3,2), imshow(Inoise,[0 255]), title('Noisy') subplot(2,3,4), imshow(ImedFilt,[0 255]), title('5x5 median filtered') subplot(2,3,5), imshow(IavgFilt,[0 255]), title('5x5 average filtered') subplot(2,3,6), imshow(IwaFilt,[0 255]), title('3x3 weighted average filtered')