Vous êtes sur la page 1sur 13

Praktikum 5, Image Filter 1. Bukalah citra cameraman, kemudian kenakan noise berikut ini.

Gunakan paramater 0,1 dan 0,9 a. 'gaussian' >> img5 = imread ('C:\Windows\System32\config\systemprofile\Documents\MATLAB\IB.bmp'); >> hasilGaussian1 = imnoise (img5,'gaussian',0.1); >> hasilGaussian2 = imnoise (img5,'gaussian',0.5); >> subplot(3,1,1), imshow(img5), title('image asli'); >> subplot(3,1,2), imshow(hasilGaussian1), title('image hasil gaussian 0.1'); >> subplot(3,1,3), imshow(hasilGaussian2), title('image hasil gaussian 0.5');
im age as li

im age has il gaus s ian 0.1

im age has il gaus s ian 0.5

b. 'localvar' >>matrix =zeros (256,256);


for i=1:256 for j=1:256 matrix(i,j)=0.1; end end >> hasilLocalvar = imnoise (img5,'localvar',matrix);

>>imshow(hasilLocalvar);

for i=1:256 for j=1:256 matrix(i,j)=0.5; end end

>> hasilLocalvar2 = imnoise (img5,'localvar',matrix); >> imshow(hasilLocalvar2);

c. 'poisson' >> hasilPoisson = imnoise (img5,'poisson'); >> imshow(hasilPoisson);

d. 'salt & pepper' >> hasilSandP2 = imnoise (img5,'salt & pepper',0.1); >> imshow(hasilSandP);

>> hasilSandP2 = imnoise (img5,'salt & pepper',0.5); >> imshow(hasilSandP2);

e. 'speckle' >> hasilSpeckle = imnoise (img5,'speckle',0.1); >> imshow(hasilSpeckle);

>> hasilSpeckle2 = imnoise (img5,'speckle',0.5); >> imshow(hasilSpeckle2);

2. Buatlah kernel mean filter dan gaussian filter kemudian lakukan konvolusi pada image cameraman yang sudah bernoise. a. Gaussian >> kernelMean = ones(3,3)/9; >> hasilMFtogbrGN1 = imfilter(hasilGaussian1,kernelMean,'conv'); >> hasilMFtogbrGN2 = imfilter(hasilGaussian2,kernelMean,'conv');

>> subplot(2,1,1),imshow(hasilMFtogbrGN1),title('gmbr gaussian stlh konvolusi dng MF'); >> subplot(2,1,2),imshow(hasilMFtogbrGN2),title('gmbr gaussian2 stlh konvolusi dng MF');
gmbr gaussian stlh konvolusi dng MF

gmbr gaussian2 stlh konvolusi dng MF

>> kernelGauss = fspecial('Gaussian',[3 3],0.5); >> hasilGFtogbrGN1 = imfilter(hasilGaussian1,kernelGauss); >> hasilGFtogbrGN2 = imfilter(hasilGaussian2,kernelGauss); >> subplot(1,3,1);imshow(hasilGaussian1);title('Original Image'); >> subplot(1,3,2);imshow(hasilGFtogbrGN1);title('GK Image GN1'); >> subplot(1,3,3);imshow(hasilGFtogbrGN2);title('GK Image GN2');

Original Image

GK Image GN1

GK Image GN2

b. Localvar >> hasilMFtogbrLV1 = imfilter(hasilLocalvar,kernelMean,'conv');

>> hasilMFtogbrLV2 = imfilter(hasilLocalvar2,kernelMean,'conv'); >> subplot(2,1,1),imshow(hasilMFtogbrLV1),title('gmbr localvar stlh konvolusi dng MF'); >> subplot(2,1,2),imshow(hasilMFtogbrLV2),title('gmbr localvar2 stlh konvolusi dng MF');
gbl cl asho osd M m o v t kn l i n F r ar l vu g

gbl cl a sho osd M m o v2t kn l i n F r ar l vu g

>> hasilGFtogbrLV1 = imfilter(hasilLocalvar,kernelGauss); >> hasilGFtogbrLV2 = imfilter(hasilLocalvar2,kernelGauss); >> subplot(1,3,1);imshow(hasilLocalvar);title('Original Image'); >> subplot(1,3,2);imshow(hasilGFtogbrLV1);title('GK Image LV1'); >> subplot(1,3,3);imshow(hasilGFtogbrLV2);title('GK Image LV2');

Original Image

GK Image LV1

GK Image LV2

c. Poisson >> hasilMFtogbrP = imfilter(hasilPoisson,kernelMean,'conv'); >> imshow(hasilMFtogbrP),title('gmbr poisson stlh konvolusi dng MF');

gm b r p ois s o n s tlh k o nvo lu s i d ng M F

>> hasilGFtogbrP = imfilter(hasilPoisson,kernelGauss); >> subplot(1,2,1);imshow(hasilPoisson);title('Original Image'); >> subplot(1,2,2);imshow(hasilGFtogbrP);title('GK Image P');

Original Image

GK Image P

d. Salt&papper >> hasilMFtogbrSnP1 = imfilter(hasilSandP,kernelMean,'conv'); >> hasilMFtogbrSnP2 = imfilter(hasilSandP2,kernelMean,'conv'); >> subplot(2,1,1),imshow(hasilMFtogbrSnP1),title('gmbr salt&papper stlh konvolusi dng MF'); >> subplot(2,1,2),imshow(hasilMFtogbrSnP2),title('gmbr salt&papper2 stlh konvolusi dng MF');

g b s lt& a p rs k no s d gM mr a p p e tlh o v lu i n F

g b s lt& a p r s k no s d gM mr a p p e2 tlh o v lu i n F

>> hasilGFtogbrSnP1 = imfilter(hasilSandP,kernelGauss); >> hasilGFtogbrSnP2 = imfilter(hasilSandP2,kernelGauss); >> subplot(1,3,1);imshow(hasilSandP);title('Original Image'); >> subplot(1,3,2);imshow(hasilGFtogbrSnP1);title('GK Image SnP1'); >> subplot(1,3,3);imshow(hasilGFtogbrSnP2);title('GK Image SnP2');

Original Image

GK Image SnP1

GK Image SnP2

e. Speckle >> hasilMFtogbrS = imfilter(hasilSpeckle,kernelMean,'conv'); >> hasilMFtogbrS2 = imfilter(hasilSpeckle2,kernelMean,'conv'); >> subplot(2,1,1),imshow(hasilMFtogbrS),title('gmbr speckle stlh konvolusi dng MF'); >> subplot(2,1,2),imshow(hasilMFtogbrS2),title('gmbr speckle2 stlh konvolusi dng MF');

g r pks kvsn F m el t o l id M b c l nu g s eh o

g rpk s kvsn F m el2l o l id M b c t nu g s e h o

>> hasilGFtogbrS1 = imfilter(hasilSpeckle,kernelGauss); >> hasilGFtogbrS2 = imfilter(hasilSpeckle2,kernelGauss); >> subplot(1,3,1);imshow(hasilSpeckle);title('Original Image'); >> subplot(1,3,2);imshow(hasilGFtogbrS1);title('GK Image S1'); >> subplot(1,3,3);imshow(hasilGFtogbrS2);title('GK Image S2');

Original Image

GK Image S1

GK Image S2

3. Buatlah fungsi median filter sendiri dan modus filter. Gunakan fungsi median dan mode. Median Filter
function [hasilMedian] = medianFilter(img) hasilMedian = img; [m,n,o] = size(img); for i=1:m for j=1:n point = 1; a = []; for k=-1:1 for l=-1:1 if i+k > 0 && j+l > 0 && i+k <= m && j+l <= n a(point) = img(i+k,j+l); else a(point) = 0;

end; point = point+1; end; end; med = median(a); hasilMedian(i,j) = med; end; end;

Modus Filter
function [hasilModus] = modusFilter(img) hasilModus = img; [m,n,o] = size(img); for i=1:m for j=1:n point = 1; a = []; for k=-1:1 for l=-1:1 if i+k > 0 && j+l > 0 && i+k <= m && j+l <= n a(point) = img(i+k,j+l); else a(point) = 0; end; point = point+1; end; end; med = modus(a); hasilModus(i,j) = med; end; end;

4. Terapakan fungsi media filter dan modus filter yang Anda buat pada image cameraman yang sudah bernoise. a. Gaussian

figure; hasilMedian = medianFilter(hasilGaussian1); hasilModus = modusFilter(hasilGaussian1); subplot(2,3,1), imshow(hasilGaussian1),title('img asli 0.1'); subplot(2,3,2), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,3), imshow(hasilModus),title('hasil filter modus'); hasilMedian = medianFilter(hasilGaussian2); hasilModus = modusFilter(hasilGaussian2); subplot(2,3,4), imshow(hasilGaussian2),title('img asli 0.5'); subplot(2,3,5), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,6), imshow(hasilModus),title('hasil filter modus');

i g l0 mi. a 1 s

hi ftr e n a ie d sl m l i a

hi ftr os a ie d sl m l u

i g l0 mi. a 5 s

hi ftr e n a ie d sl m l i a

hi ftr os a ie d sl m l u

b. Localvar
figure; hasilMedian = medianFilter(hasilLocalvar); hasilModus = modusFilter(hasilLocalvar); subplot(2,3,1), imshow(hasilLocalvar),title('img asli 0.1'); subplot(2,3,2), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,3), imshow(hasilModus),title('hasil filter modus'); hasilMedian = medianFilter(hasilLocalvar2); hasilModus = modusFilter(hasilLocalvar2); subplot(2,3,4), imshow(hasilLocalvar2),title('img asli 0.5'); subplot(2,3,5), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,6), imshow(hasilModus),title('hasil filter modus');

img asli 0.1

hasil filter median

hasil filter modus

img asli 0.5

hasil filter median

hasil filter modus

c. Poisson
figure; hasilMedian = medianFilter(hasilPoisson); hasilModus = modusFilter(hasilPoisson); subplot(2,3,1), imshow(hasilPoisson),title('img asli 0.1'); subplot(2,3,2), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,3), imshow(hasilModus),title('hasil filter modus'); img asli 0.1 hasil filter median hasil filter modus

d. Salt&papper
figure; hasilMedian = medianFilter(hasilSandP); hasilModus = modusFilter(hasilSandP); subplot(2,3,1), imshow(hasilSandP),title('img asli 0.1'); subplot(2,3,2), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,3), imshow(hasilModus),title('hasil filter modus'); hasilMedian = medianFilter(hasilSandP2); hasilModus = modusFilter(hasilSandP2); subplot(2,3,4), imshow(hasilSandP2),title('img asli 0.5'); subplot(2,3,5), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,6), imshow(hasilModus),title('hasil filter modus');
i gs0 m l . ai 1 h i fle ea al it rmi n s d h i fle o s al it rmu s d

i gs0 m l . ai 5

h i fle ea al it rmi n s d

h i fle o s al it rmu s d

e. Speckle

figure; hasilMedian = medianFilter(hasilSpeckle); hasilModus = modusFilter(hasilSpeckle); subplot(2,3,1), imshow(hasilSpeckle),title('img asli 0.1'); subplot(2,3,2), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,3), imshow(hasilModus),title('hasil filter modus'); hasilMedian = medianFilter(hasilSpeckle2); hasilModus = modusFilter(hasilSpeckle2); subplot(2,3,4), imshow(hasilSpeckle2),title('img asli 0.5'); subplot(2,3,5), imshow(hasilMedian),title('hasil filter median'); subplot(2,3,6), imshow(hasilModus),title('hasil filter modus');
i gs 0 m l . ai 1 h i flemi n al it r ea s d h i flemu al it r o s s d

i gs 0 m l . ai 5

h i flemi n al it r ea s d

h i flemu al it r o s s d

5. Simpulkan, mana filter yang paling efektif untuk masing-masing noise di atas. >> hasilGaussian1 = imnoise (img5,'gaussian',0.1); Noise Gaussian Lovalvar Poisson Salt & Papper Speckle Filter yang efektif

Vous aimerez peut-être aussi