Anda di halaman 1dari 15

LAPORAN PENGOLAHAN CITRA Diajukan dalam rangka menyelesaikan mata kuliah peng lahan !

itra

Oleh " Nama Nim #urusan (akultas " Ahmad #uheri " $%&&$&''%& " (isika " ()IPA

#*R*+AN (I+I,A (A,*LTA+ )ATE)ATI,A DAN IL)* PENGETAH*AN ALA) *NI-ER+ITA+ NEGERI +E)ARANG %'&./%'&$

1. Menambahkan salt and pepper noise (10%) pada foto pribadi, lalu menghilangkannya
dengan metode average filtering, median filtering, the outlier method dan pseudo median filtering CI !" "#"$

%&'!C( C&)( %membaca citra juheri=imread('juheri.jpg'); % Mengubah citra ke tipe gray image j=rgb2gray(juheri); %menambahkan salt & pepper noise sebesar j"sp=imnoise(j#'salt & pepper'#!. ); %membuat dan menambahkan $ilter rata%rata pada citra $a=$special('a&erage'); j$a=$ilter2($a#j"sp); %$ilter median !%

jme=med$ilt2(j"sp); %'he outlier method d=!.2; $=(!. 2) !. 2) !. 2); !. 2) ! !. 2); !. 2) !. 2) !. 2)*; imd=im2double(j"sp); im$=$ilter2($#imd); r=abs(imd%im$)%d+!; res=im2uint,(r.-im$.( %r).-imd); %/seudo Median 0ilter ma1=ord$ilt2(j"sp#2#ones(3#3)); min=ord$ilt2(j"sp# #ones(3#3)); psmed= 42-(ord$ilt2(min#2#ones(3#3))) . 42-(ord$ilt2(ma1# #ones(3#3))); %menampilkan 5asil subplot(2#3# ) imsho6(juheri) title('asli') subplot(2#3#2) imsho6(j"sp) title ('salt & pepper subplot(2#3#3) imsho6(j$a42))) title ('a&erage $ilter') subplot(2#3#7) imsho6(jme) title('median $ilter') subplot(2#3#)) imsho6(res) title(''he 8utlier Method') subplot(2#3#9) imsho6(psmed) title('/seudo Median') !%')

CI !" "*+I! ,(M-"+"%".

)erau salt and pepper /uga sering disebut derau impuls (impulse noise), shot noise, atau derau biner (binary noise). )egradasi oleh derau ini disebabkan oleh gangguan yang ta/am dan tiba0tiba (sharp and sudden) pada sinyal 1itra. )erau salt and pepper pada 1itra akan berupa titik0titik (piksel) hitam atau putih (atau kedua0duanya) yang tersebar pada 1itra. 'ntuk menambahkan derau salt and pepper pada 1itra 1ukup dengan menggunakan perintah IM.&I%((I,salt2pepper,)) dengan I adalah 1itra dan ) adalah densitas atau kepekatan derau pada 1itra. 3ilter pererata dapat digunakan untuk menghilangkan derau salt 2 pepper. 'ntuk membuat filter pererata dalam matlab dapat menggunakan sintak fspe1ial (4average5). )an untuk melakukan linier filtering pada 1itra dapat menggunakan sintak filter6(filter,image). )ari hasil yang diperoleh dapat dilihat untuk filter pererata hasil yang diperoleh tidak terlalu baik masih terdapat derau pada 1itra. %emakin besar filter pererata yang digunakan maka semakin besar pula derau yang dihilangkan namun dapat mengakibatkan 1itra men/adi kabur.

&utlier metode pertama kali diperkenalkan oleh ,ratt dengan menganggap bah7a piksel0 piksel derau sebagai piksel yang salah tempat (outlier), yaitu piksel yang nilai aras keabuannya /auh berbeda dengan piksel0piksel disekitarnya. )engan anggapan ini, maka dapat dilakukan pendekatan untuk menghilangkan derau sebagai berikut. 1. ,ilih sebuah nilai ambang ) 6. 'ntuk sebuah piksel tertentu p, bandingkan nilai p tersebut dengan nilai rerata m dari 8 piksel tetangganya. 9. :ika ;p < m; = ), maka klasifikasikan piksel tersebut sebagai piksel derau. :ika tidak maka piksel tersebut bukan piksel derau. >. :ika piksel tsb adalah derau maka ganti nilainya dengan m, /ika bukan derau maka nilainya tidak diubah. +asil yang diperoleh dengan menggunakan metode ini lebih baik dari hasil ketika menggunakan filter pererata. )ari beberapa metode filter yang digunakan untuk menghilangkan derau salt 2 pepper diperoleh hasil bah7a median filter paling 1o1ok untuk menghilangkan atau mengurangi derau ini. Median adalah nilai tengah dari serangkaian nilai yang telah diurutkan, /ika ada se/umlah genap nilai maka median adalah rerata dari dua nilai yang berada pada urutan tengah. 3ilter median merupakan salah satu 1ontoh filter spasial non linear. &perasi untuk memperoleh nilai median akan menempatkan nilai yang sangat besar atau sangat ke1il berada pada u/ung atas atau u/ung ba7ah urutan. )engan demikian filter median se1ara umum akan mengganti piksel0piksel yang berderau dengan suatu nilai yang dekat dengan piksel0piksel disekitarnya.

6. Menambahkan ?aussian noise pada foto pribadi, lalu menghilangkannya dengan metode
average filtering dan adaptive filtering

CI !" "#"$

%&'!C( C&)( %membaca citra juheri=imread('juheri.jpg'); % Mengubah citra ke tipe gray image j=rgb2gray(juheri); %menambahkan gaussian noise j"g=imnoise(j#'gaussian'); %membuat dan menambahkan $ilter rata%rata pada citra $a=$special('a&erage'); j$a=$ilter2($a#j"g); %adapti&e $iltering jad=6iener2(j"g); %menampilkan hasil subplot(2#2# ) imsho6(juheri) title('asli') subplot(2#2#2) imsho6(j"g) title('gaussian') subplot(2#2#3) imsho6(j$a42))) title('a&erage') subplot(2#2#7) imsho6(jad)

title('adapti&e') CI !" +"%I$ ,(M-"+"%".

)erau adalah

?aussian

derau putih yang mempunyai distribusi normal. :ika 1itra dinyatakan dengan I dan derau ?aussian dinyatakan dengan ., maka 1itra yang memiliki derau ?aussian dinyatakan dengan 1ara menambahkan keduanya yaitu I @ .. Matlab mempunyai fungsi untuk membuat simulasi derau /enis ?aussian, yaitu fungsi # 0 I)NOI+E 1I2 3gaussian34 'ntuk menghilangkan derau ?aussian dapat menggunakan pendekatan sederhana, yaitu dengan mengambil rerata dari seluruh 1itra yang ada. &leh karena itu kita dapat menggunakan filter pererata. )ari hasil yang diperoleh, dapat kita lihat filter pererata dapat menghilangkan derau ?aussian meskipun tidak semuanya. %emakin besar ukuran filter pererata maka akan diperoleh gambar yang lebih bersih namun /uga mengakibatkan gambar men/adi kabur. %elain filter pererata kita /uga menggunakan filter adaptif meskipun hasil

yang diperoleh tidak sebaik filter pererata. 3ilter adaptif merupakan /enis filter yang mengubah karakteristiknya sesuai dengan nilai0nilai aras keabuan yang berada dalam mask, akan berlaku seperti filter median atau berlaku seperti filter average, bergantung pada posisinya pada 1itra. %alah satu filter /enis ini adalah filter 7iener. -iasanya filter 7iener diterapkan dalam domain frekuensi. %intaks dalam Matlab adalah sbb. 5#2 NOI+E6 0 7IENER% 1I4

9. Menambahkan periodi1 noise pada foto pribadi, lalu menghilangkannya dengan metode
band re/e1t filtering dan not1h filtering CI !" "#"$

%&'!C( C&)( %membaca citra j=imread('juheri.jpg'); % Mengubah citra ke tipe gray image j=rgb2gray(j); %membuat dan menambahkan noise periodic s=si:e(j); (1#y*=meshgrid( ;s(2)# ;s( )); p=sin(143.y4)). ; j"pn=(double(j)4 2,.p)47;

%melakukan tran$ormasi $ourier dan menggeser koe$isien <= ke pusat matrik j$ =$$t2(j"pn); j$=$$tshi$t(j$ ); %menampilkan <0' citra sebelum $iltering subplot(2#3# ) $$tsho6(j$) title('<0' citra dengan derau periodic') %membuat band reject $ilter s=si:e(j"pn); :=s>rt((1%27 ).?2.(y%322).?2); br=(:@2,A:+3)); %melakukan $iltering dengan band reject $ilter jbr=j$.-br; %B<0' hasil $ilter jbr"in&=i$$t2(jbr); %membuat notch $iltering j$(37 #;)=!; j$(3!!#;)=!; j$(;#29C)=!; j$(;#2 C)=!; %B<0' hasil $iltering dengan notch $ilter j$"in&=i$$t2(j$); %menampilkan hasil subplot(2#3#2) $$tsho6(jbr#'log') title('<0' Dand Eeject') subplot(2#3#3) $$tsho6(j$#'log') title('<0' Fotch 0iltering') subplot(2#3#7) imsho6(j"pn) title('<erau /eriodik') subplot(2#3#))

$$tsho6(jbr"in&#'abs') title('5asil Dand Eeject') subplot(2#3#9) $$tsho6(j$"in&#'abs') title('5asil Fotch 0iltering') CI !" +"%I$ ,(M-"+"%".

)erau yang sifatnya periodik

(bukan a1ak atau random) akan menghasilkan derau periodik. Citra yang terkorupsi oleh derau periodik se1ara visual akan tampak terdapat garis0garis (bars) pada 1itra. %etelah dilakukan penambahan pada 1itra, terdapat duaAspikeA yang mun1ul pada komponen d1 1itra. %emakin tinggi frekuensi derau yang mengganggu 1itra maka letaknya akan semakin /auh dari titik pusat 1itra hasil )3 . )erau periodi1 memerlukan filtering pada domain frekuensi untuk menghilangkannya. &leh karena derau periodik bersesuaian dengan dua BspikeA tsb, maka artinya derau periodik pada 1itra dapat dihilangkan atau dikurangi dengan 1ara menghilangkan kedua BspikeA tsb. %alah satunya adalah dengan 1ara band re/e1t filtering dan not1h filtering

-and re/e1t filter dapat dibangun dengan membuat 1in1in bernilai nol, untuk 1itra di atas maka 1in1in bernilai nol ini berada pada radius kira0kira 96 dari pusat 1itra.Citra hasil filtering dengan band re/e1t filter menun/ukkan bah7a tidak semua derau dapat dihilangkan namun telah 1ukup mengurangi pengaruh derau tersebut terutama di bagian tengah 1itra. .ot1h filter membuat nilai piksel pada kolom dan baris pada BspikeA men/adi nol. +asil dari not1h filtering tidak sebaik dengan hasil dari band re/e1t filtering.

>. melakukan operasi single thresholding, double thresholding dan adaptive thresholding pada
foto pribadi CI !" "#"$

%&'!C( C&)( %membaca citra juheri=imread('juheri.jpg'); % Mengubah citra ke tipe gray image j=rgb2gray(juheri); %adapti&e threshold jat=adapti&ethreshold(j#2!#!.!7# ); subplot(2#2# ) imsho6(j) title('asli') subplot(2#2#2) %hasil dengan single threshold imsho6(j+7)) title('single threshold')

%hasil dengan double threshold subplot(2#2#3) imsho6(j+7) & j@ !!) title('double threshold') %hasil dari adapti&e threshold subplot(2#2#7) imsho6(jat) title('adapti&e threshold') CI !" +"%I$

,(M-"+"%". hreshold digunakan untuk mengubah gray image men/adi 1itra biner (hitam putih) dengan terlebih dahulu memilih suatu nilai aras keabuan lebih besar atau lebih ke1il dari nilai keabuannya lebih besar daripada (dari 1itra asli) dan kemudian mengubah setiap piksel men/adi hitam atau putih bergantung apakah nilai piksel asli tersebut . ,iksel akan diubah men/adi putih /ika nilai aras , dan akan diubah men/adi hitam /ika nilai aras

keabuannya lebih ke1il atau sama dengan .

%ingle thresholding dapat dilakukan dalam bahasa Matlab dengan sederhana. :ika terdapat 1itra 8 bit yang tersimpan dalam variabel C, maka thresholding dapat dilakukan dengan perintah C = dengan adalah nilai ambang yang dikehendaki. ,ada soal ini di pilih nilai ambang sebesar >D. &perasi double thresholding diimplementasikan dengan 1ara EF putih /ika nilai C berada diantara
1

dan

)an EF hitam untuk nilai < nilai C yang lain )engan C adalah nilai aras keabuan dari 1itra input (asli), dengan sintaks C= 1 2 CG 6 "daptive threshold adalah algoritma yang memisahkan latar belakang dan ob/ek dengan iluminasi yang tidak seragam.
1

dan

adalah nilai ambang

yang dipilih, dan y adalah keluaran. Implementasi dalam bahasa Matlab dapat dilakukan

D. melakukan operasi edge detection pada foto pribadi menggunakan teknik Prewit, Sobel,
Robert dan Laplacian CI !" "#"$

%&'!C( C&)( %membaca citra juheri=imread('juheri.jpg'); % Mengubah citra ke tipe gray image j=rgb2gray(juheri); %operasi edge pada citra

jp=edge(j#'pre6itt'); jr=edge(j#'roberts'); js=edge(j#'sobel'); l=$special('laplacian'#!); jl=$ilter2(l#j); %menampilkan hasil subplot(2#3# ) imsho6(j) title('asli') subplot(2#3#2) imsho6(jp) title('pre6itt') subplot(2#3#3) imsho6(jr) title('roberts') subplot(2#3#7) imsho6(js) title('sobel') subplot(2#3#)) imsho6(mat2gray(jl)) title('laplacian')

CI !" +"%I$ ,(M-"+"%".

ebing (edge) dapat didefinisikan sebagai suatu diskontinuitas lokal dalam nilai pikselnya, yaitu bah7a nilai pikselnya dapat dengan /elas 4terlihat5 berubah. ebing (edge) 1itra dapat digunakan untuk memperoleh informasi dari 1itra threshloding. seperti halnya pada ebing 1itra /uga dapat digunakan untuk mengetahui ukuran ob/ek,

mengisolasi ob/ek tertentu pada 1itra, atau untuk mengenali dan mengklasifikasikan ob/ek (misalnya berdasarkan bentuknya). 'ntuk menggunakan filter pendeteksi tebing pada matlab dapat menggunakan sintak (dge(image,5filter5) )ari hasil yang diperoleh, diketahui bah7a teknik sobel yang paling baik digunakan dalam operasi edge dete1tion pada 1itra ini.

Anda mungkin juga menyukai