BAB I PENDAHULUAN

A. Latar Belakang Peningkatan perbaikan kualitas Citra merupakan salah satu cara yang digunakan guna ntuk perbaikan suat Citra atau gambar. Meskipun sebuah citra kaya informasi, namun seringkali citra yang dimiliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik.Sehingga dalam pembahasan ini kami akan membahas bagaimana "Perbaikan kualitas Citra dalam Domain Spasial " . Operasi inidigunakan untuk memperaiki sebuah citra menjadi lebih baik dari sebelumnya. Secara umum, objek dalam citra dinyatakan sebagai titik yang nilai keabuannyaberbeda.Banyak bentuk kernel/mask yang dapat digunakan sebagai operator dalam perbaikan kualirs Citra, antara lain dengan menggunakan filter – filter yang sudah ada seperti LPF (Low Pass Filter), HPF (High Pass Filter), MPF (Median Pass Filter),Gaussian Filter dan bisa juga dapat kita gunakan filter buatan sendiri dan sebagainya. Dalam program Matlab (Matrix Laboratory), beberapa operator sudah ada dalam toolbox-nya, sehingga mudah dalam implementasinya yang penting kita mengetahui sintaksnya. Pengolahan citra digital dapat dilakukan berbagai cara diantaranya adalah representasi dan permodelan citra, peningkatan kualitas citra, restorasi citra, analisis citra, rekonstruksi citra dan kompresi citra. Pada makalah ini, pengolahan citra digital difokuskan pada teknik peningkatan mutu suatu citra dalam domain spasial. Peningkatan kualitas citra bertujuan menghasilkan citra dengan kualitas yang lebih baik dibandingkan dengan citra semula. Analisis citra bertujuan mengidentifikasi parameter yang diasosiasikan dengan ciri dari objek dalam citra, untuk selanjutnya parameter tersebut digunakan dalam menginterpretasi citra.. Penggunaan Filter dalam perbaikan suatu citra sangatlah penting guna memperbaiki kualitas suatu citra,namun apabila dalam penerapannya kita salah menempatkannya maka kualitas citra tersebut tidak akan menghasilkan sebuah citra yang baik sesuai dengan keinginan kita atau dapat dikatakan gagal. Karena itu perbaikan kualitas suatu citra itu sangatlah penting dalam kaitannya dalam kehidupan ini. B. Rumusan Masalah

1

Adapun rumusan massalah yang dibahas dalam tugas ini adalah :  Apa yang dimaksud dengan citra digital dan perbaikan kualitas citra dalam domain Spasial.  Bagaimana Implementasi perbaikan kualitas dalam domain Spasial dengan Menggunakan MATLAB

A. Tujuan Memberikan pemahaman kepada mahasiswamengenai berbagai teknik perbaikan citra padadomain spasial, antara lain: 1. Mengetahui apa itu citra digital dan perbaikan kualitas citra dalam domain spasial 2. Mengetahui Implementasi perbaikan kualitas dalam domain Spasial dengan Menggunakan MATLAB

BAB II DASAR TEORI

2

Penjelasan Umum Tentang Citra Istilah “citra” yang pada umumnya digunakan dalam bidang pengolahan citra diartikan sebagai suatu fungsi kontinu dari intensitas cahaya f(x,y) dalam bidang dua dimensi, dengan (x,y) menyatakan suatu koordinat dan nilai f pada setiap titik (x,y) menyatakan intensitas atau tingkat kecerahan (brightness). Suatu citra digital adalah suatu citra kontinu yang diubah ke dalam bentuk diskrit, baik koordinat maupun intensitas cahayanya. Kita dapat menganggap suatu citra digital sebagai suatu matriks, dimana indeks baris dan kolomnya menyatakan koordinat sebuah titik pada citra tersebut dan nilai masing-masing elemennya menyatakan intensitas cahaya pada titik tersebut. Suatu titik pada sebuah citra digital sering disebut sebagai “image element” (elemen citra), “picture element” (elemen gambar), “pixel” ataupun “pel”. Citra digital yang berupa matrik dengan ukuran M x N digambarkan sebagai berikut:

Gambar 2.1 Citra f (x,y) Berukuran M x N Tetangga-Tetangga Piksel

3

2(c).y+1).1. (x-1.1.0}. (x-1.y+1).0. (x-1. (x-1. Sedangkan gabungan N4 (p) dan Np(p) dinamakan dengan N8 (p).1. (x-1.2(a).0. Beberapa titik Np (p) atau N8 (p) bisa saja terletak di luar citra jika (x.y) terletak dipinggir citra. Piksel dengan ruang yang lebih gelap adalah N4 (2) yaitu {0.y-1).y+1).Sebuah piksel p pada koordinat (x. Contoh N8 (p) terdapat pada gambar 2.y). (x.y).0.y-1).0.1.y). koordinat-koordinatnya : (x+1. Disamping itu juga terdapat empat tetangga diagonal p yang disebut dengan Np (p) dengan koordinat-koordinatnya adalah : (x+1.2(b). (x+1. (x+1.y) memiliki empat tetangga horisontal dan vertikal dengan koordinat-koordinatnya adalah sebagai berikut : (x+1.0}. (x. Piksel dengan ruang yang lebih gelap adalah N8 (2) yaitu {0.1.y-1).y). Himpunan piksel tersebut dinamakan 4 tetangga p atau N4 (p) terdapat pada gambar 2. (x.1. Piksel dengan ruang yang lebih gelap adalah Np (2) yaitu {0.y-1).0}. Contoh Np (p) terdapat pada gambar 2.y-1). (x-1.y-1).y+1). 4 .

maka pembahasan disini dilakukan cara membagi operasi pengolahan citra dalam beberapa kelompok yaitu : 1. Untuk memberikan gambaran umum. 2. 4. 3. Perbaikan Citra (image restoration) Peningkatan kualitas citra (image enhancement) Registrasi citra (image registration) Pemampatan citra (image compression) Pemilahan Citra (image segmentation) Segmentation Enhancement Registration Restoration Compression 5 .Jenis-Jenis Pengolahan citra Mengingat banyak dan luasnya bidang aplikasi dari pengolahan citra. tidaklah mungkin akan kita bahas setiap operasi secara terperinci. 5.

manipulasi kontras dan skala keabuan.3 Kelompok Pengolahan Citra Perbaikan citra adalah proses untuk mendapatkan kembali (rekontruksi) citra asli dari suatu citra yang telah mengalami proses degradasi. Proses ini banyak diterapkan pada proses pengenalan citra (image recognition) Peningkatan Kualitas Citra Peningkatan kualitas citra merupakan suatu proses yang dilakukan untuk mendapatkan kondisi tertentu pada citra. memperbesar dan interpolasi.Registrasi citra dilakukan berdasarkan beberapa atau banyak citra dari objek yang diambil secara terpisah. sehingga memerlukan kapasitas media penyimpanan yang besar. metode yang dapat dilakukan berbeda-beda tergantung pada citra yang akan diproses serta kondisi yang diharapkan. Secara umum metode-metode yang digunakan dalam peningkatan kualitas citra dapat digolongkan dalam dua kelompok yaitu metode domain 6 . Proses tersebut dilakukan dengan menggunakan berbagai macam metode tergantung pada kondisi yang diharapkan pada citra tersebut. misalnya mempertajam bagian tertentu pada citra. menghilangkan gangguan. Peningkatan kualitas citra adalah pemrosesan sebuah citra yang ditujukan untuk menghasilkan kondisi tertentu pada citra. Pemampatan citra merupakan proses untuk meminimasi jumlah bit yang diperlukan untuk merepresentasikan suatu citra digital. Pada umumnya citra mempunyai jumlah data yang besar dalam bentuk bitbit píxel.Gambar 2. Pemilahan citra merupakan proses pemilahan citra menjadi bagian-bagian pokok dari citra tersebut. Pada proses ini tiap-tiap citra digabungakan menjadi suatu objek agar dapat dianalisa lebih lanjut.

y). Low Pass Filter Low pass filter adalahprosesfilter yangmengambilcitradengangradiasiintensitasyang halusdanperbedaanIntensitasyangtinggiakandikurangiataudibuang. yang didefinisikan terhadap kumpulan tetangga-tetangga (x.frekuensi dan metode domain spasial Pada metode domain frekuensi. Mengenai cara kerja dari metode domain frekuensi ini tidak dibahas lebih lanjut pada tugas besar ini karena penekanannya dititikberatkan pada metode domain spasial.y) = T [f (x. 1. g (x.y) adalah fungsi citra masukan. Salah satu filtering citra yang termasuk dalam metode domain spasial adalah Median filter. sedangkan T adalah operator atas f. Ciri-ciri dari fungsi low pass filter adalah sebagai berikut : Sebagai contoh dibuat program Low Pass Filter untuk n=3dan n=5 dengan fungsi filter rata-rata sebagai berikut : 7 . Fungsi matematis dari metode domain spasial adalah sebagai berikut : g (x. teknik yang digunakan pada metode ini seperti highpass filtering yang bertujuan untuk mempertajam citra.y) adalah citra hasil atau keluaran. Contoh dari metode ini adalah operasi filtering citra yaitu penghalusan citra dengan cara menghilangkan noise pada citra tersebut. Metode Yang Terdapat padaDomain Spasial Metode domain spasial adalah suatu proses yang dioperasikan langsung terhadap piksel.y)] f (x. teknik pemrosesannya berdasarkan pada modifikasi transformasi Fourier terhadap nilai piksel.

Contoh Penerapan Low Pass Filter (a) Gambar Asli.25 2. Cara kerja metode ini diakukan dengan 8 .5. (b)-(f) hasil dari spatial lowpass filtering dengan ukuran mask3.15. Median Filter Metode Median filter adalah salah satu teknik filtering citra non linear yang berfungsi untuk memperhalus suatu citra dan menghilangkan noise atau gangguan yang berupa bintik putih. Ciri-ciri dari fungsi High pass filter adalah sebagai berikut : Sebagai contoh dibuat program High Pass Filter untuk n=3 dengan fungsi filter rata-rata sebagai berikut : 3.High Pass Filter High pass filter Adalah proses filter yg mengambil citra dengan gradiasi intensitas yg tinggi dan perbedaanintensitas yg rendah akan dikurangi atau dibuang.7.

4 Proses Kerja Median filter 4. Cara kerja filter ini sangat sederhana dimana proses pencarian nilai tengah untuk mengganti nilai piksel dilakukan secara bertahap dengan mencari nilai tengah secara vertikal.mengganti nilai piksel yang diacu dalam suatu bidang operasi dengan suatu formula yang memanfaatkan nilai piksel tetangganya. diagonal dan setelah didapatkan nilai tengahnya selanjutnya diurutkan kembali nilai yang didapatkan dengan nilai piksel yang akan diganti dan diambil nilai tengahnya. nilai tengah yang didapat tersebut akan menjadi nilai yang menggantikan nilai piksel yang akan diganti 9 . A B D A A A B D A D A B F B D A A C B C A A D B C A B D A A A B D A D A B B B D A A C B C A A D B C Gambar 2. Metode Multilevel Median Filter Metode Multilevel median filter digunakan untuk melakukan proses filtering dan untuk menghaluskan suatu citra digital. horisontal.

…) adalah serangkaian citra digital dan W adalah mask atau bidang operasi dengan ukuran (2N+1)x(2N+1) dengan pusat pada piksel (i.j+k}.j) = min[Z1 (i.j) = {x (i.5 Contoh Himpunan Dari Bidang W Misalkan x (….2.j)] 10 .j) (s=1.j)] Ymax (i. Z4 (i. kemudian dicari nilai minimum (Ymin (i. Z4 (i.4) adalah nilai median pada elemenelemen dari keempat himpunan.j).j).j) = max[Z1 (i.j).j) = {x (i+k. Z2 (i.3. -N ≤ k ≤N} W4 (i.j}.j)) dan nilai maksimum (Ymax (i.j). -N ≤ k ≤ N} Misalkan Zs (i.j+k}.Gambar 2.j) = {x (i+k. Z3 (i. Ymin (i. -N ≤k ≤ N} W2 (i.j).j).j).j)) dari Zs (i. Terdapat 4 himpunan dari bidang W yang didefinisikan sebagai berikut : W1(i. Z3 (i.j).j) = {x (i+k.j-k}. Z2 (i. -N ≤ k ≤ N} W3 (i.

j).j). dan nilai piksel yang lama (x (i. Ymax (i. Signal to Noise Ratio (PSNR) PSNR = 20 Log 10  255     MSE  BAB III PEMBAHASAN Citra Digital Citra (image) bisa didefinisikan sebagai fungsi dua dimensi f(x. maka beberapa parameter yang dijasikan sebagai kriteria penilaian objektif adalah sebagai berikut: 1.j) = Med [Ymin (i.Nilai piksel yang didapat dari metode Multievel median filter ini (Y (i. Y (i.y) dengan ukuran piksel M x N.y))2 ∑ ∑ y =0 N −1 2.y) disebut intensitas (gray level) citra pada titik tersebut.Kriteria objektif didasarkan pada error yang terdapat pada citra yang telah diolah. Jika x dan y berhingga (finite) dan 11 . Root Mean Square Error (RMSE) RMSE = MSE 1.y) dan citra hasil proses g (x. Penilaian secara objektif yaitu dengan menggunakan suatu ukuran tertentu.j)). Mean Square Error (MSE) MSE = 1 MN M −1 x =0 (f (x. Ymax (i.j)) adalah nilai median dari Ymin (i.j))] Kriteria Penilaian Kualitas Citra Analisa terhadap citra yang telah diproses dapat dilakukan baik dengan cara objektif.j).j). (x (i.y) – g (x.y) di mana x dan y adalah koordinat spasial dan amplitudo f pada setiap pasang (x. Untuk citra asal f (x.

Untuk warna. Citra digital adalah citra dengan f(x. nilai rentangnya paling kecil = 0 dan paling besar = 255. hijau. sedangkan untuk hitam= RGB(0. Jadi. Pilihan skala 256 ini didasarkan pada cara mengungkap 8 digit bilangan biner yang digunakan oleh mesin komputer. digabungkan dalam membentuk suatu susunan warna yang luas. Dasar Warna RGB adalah suatu model warna yang terdiri dari merah.y) yang nilainya didigitalisasi-kan (dibuat diskrit) baik dalam koordinat spasialnya maupun dalam gray level nya. Sebuah jenis warna. dan biru. 12 .255.Elemen-elemen dari citra digital tersebut biasanya disebut dengan pixel. komponen-komponen tersebut digantikan oleh komponen R(ed).255).Setiap warna dasar. yaitu komponen-x.0). Digitalisasi dari koordinat spasial citra disebut dengan image sampling. Putih = RGB (255. Elemen-elemen x dan y disebut elemen citra / pels / pixel. Misalkan sebuah vektor dituliskan sebagai r = (x. koordinatnya dinyatakan dalam bentuk tiga bilangan. B(lue). 75. akan diperoleh warna campuran sebanyak 256 x 256 x 256 = 1677726 jenis warna.diskrit (tdk kontinyu) maka disebut citra digital. Tujuan pengolahan citra digital adalah untuk mendapatkan citra baru yang lebih sesuai untuk digunakan dalam aplikasi tertentu. komponen-y dan komponen-z. dapat diberi rentang-nilai. dapat dibayangkan sebagai sebuah vektor di ruang 3 dimensi yang biasanya dipakai dalam matematika. Untuk monitor komputer.z).Citra digital dapat dibayangkan sebagai suatu matriks dimana baris dan kolomnya menunjukkan gray level di titik tersebut. yang merupakan singkatan dari picture elements. Citra digital terdiri dari sejumlah elemen berhingga yang masing-masing mempunyai lokasi dan nilai. 255). Dengan cara ini.0. sedangkan digitalisasi dari gray-level citra disebut dengan gray-level quantization. misalnya merah. sebuah jenis warna dapat dituliskan sebagai berikut: warna = RGB(30. G(reen).y.

jika kita mempunyai gambar berukuran 200x300 pixel. maka jumlah byter yang terpakai di memory adalah 200x300x1 = 60000bit. misalnya mempertajam bagian tertentu pada citra. memperbesar dan interpolasi. Perbaikkan Kualitas Citra (image enhancement) Perbaikan kualitas citra merupakan suatu proses yang dilakukan untuk mendapatkan kondisi tertentu pada citra. manipulasi kontras dan skala keabuan.Citra Gray Graysacale adalah warna-warna piksel yang berada dalam rentang gradasi warna hitam dan putih. sebagai contoh. jika kita mempunyai gambar berukuran 200x300 pixel. nilai nya 0 dan 1. Jadi untuk gambar yang biasanya berwarna hitam puth. Piksel yang memiliki derajat keabuan lebih kecil dari nilai batas yang ditentukan akan diberikan nilai 0. menghilangkan gangguan. maka jumlah byter yang terpakai di memory adalah 200x300x2 = 120000bit. Proses tersebut dilakukan dengan menggunakan berbagai macam metode tergantung pada kondisi yang diharapkan pada citra tersebut. Citra Biner Citra biner diperoleh melalui proses pemisahan piksel-piksel berdasarkan derajat keabuan yang dimilikinya. sementara piksel yang memiliki derajat keabuan yang lebih besar dari batas akan diubah menjadi bernilai 1.sebagai contoh. Secara umum metode-metode yang digunakan dalam peningkatan 13 .

Penghilangan derau (noise) Implementasi perbaikan kualitas dengan Menggunakan MatLab Pada MATLAB. Berikut adalah cara membuat GUI (GeneralUser Interface) perbaikan citra menggunakan MatLab : 1. 3. seperti gambar dibawah ini. perbaikan kualitas citra terdapat pada toolbox image processing. Penghilangan kesamaran (deblurring) b. ciri-ciri khusus yang terdapat didalam citra lebih ditonjolkan. Kemudian setelah masuk ke program MATLAB. Contoh-contoh operasi perbaikan kualitas citra: a. pilih Blank GUI. Dengan operasi ini. Pertama buka program MATLAB 2. Contoh-contoh operasi pemugaran citra : a. 14 . Bedanya. Setelah tampil GUIDE quick start. Pemberian warna semu (pseudocoloring) e. pilih File → New → GUI atau bisa ketik guide di Command Windows Kemudian Enter. Penajaman (sharpening) d.kualitas citra dapat digolongkan dalam dua kelompok yaitu metode domain frekuensi dan metode domain spasial Image enhancement bertujuan untuk memperbaiki citra dengan cara memanipulasi parameter -parameter citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikkan citra. pada pemugaran citra penyebab degradasi gambar diketahui. Perbaikkan kontras gelap/terang b. Penapisan derau (noise filtering) Pemugaran Citra (image restoration) Operasi ini bertujuan menghilangkan cacat pada citra. Perbaikkan tepian objek (edge enhancement) c.

15 . Selanjutnya akan muncul tampilan jendela GUIDE layout editor untukmempermudah kita dalam membuat antar muka grafis.4.

Setelah melakukan desain rancangan seperti yang terlihat pada gambar dibawah ini. Gunakan komponenkomponen yang ada pada bagian kiri layar dengan cara mengklik dan menarik komponen yang akan digunakan ke dalam area rancangan.fig. maka secara otomatis akan terbentuk m-file matlab dengan nama yang sama. simpan program dengan nama UAS_Citra. 5. Run Aplikasi ini dengan mengklik icon atau menekan F5 16 . yaitu UAS_Citra.Desain tampilan sesuai dengan aplikasi yang akan kita buat.m yang merupakan editor untuk memasukkan script program ke dalam rancangan yang telah kita buat sebelumnya.

Selanjutnya kita akan diberi pilihan untuk mengubah gambar tersebut menjadi Grayscale atau tetap RGB. 8. Setelah pilih gambar. 17 . Klik button Pilih Gambar untuk pilih gambar yang akan kita gunakan 7. Untuk mengetahui nilai PSNR serta MSE dari gambar hasil filter tersebut.6. Gambar yang di masukkan diberi noise terlebih dahulu dan kemudian akan melakukan pemfilteran. cukup memilih button maka akan muncul nilai PSNR dan MSEnya. gambar tersebut otomatis akan diresize menjadi 512 x 512.

18 . kemudian klik button PSNR & MSE untuk menghitung PSNR dan MSEnya. Gambar tersebut akan diberi noise dan kemudian akan melakukan pemfilteran. Kalau kita pilih Grayscale maka akan tampil seperti di bawah ini 10.9.

Pemberian warna semu (pseudocoloring) e. Penajaman (sharpening) d.y) disebut intensitas (gray level) citra pada titik tersebut. Perbaikkan kontras gelap/terang b. Contoh-contoh operasi perbaikan kualitas citra: a. Proses tersebut dilakukan dengan menggunakan berbagai macam metode tergantung pada kondisi yang diharapkan pada citra tersebut. dimana x dan y berhingga (finite) dan diskrit (tdk kontinyu).y) di mana x dan y adalah koordinat spasial dan amplitudo f pada setiap pasang (x. Penapisan derau (noise filtering) Untuk membuat aplikasi perbaikan kualitas citra dapat digunakan program MATLAB dimana sudah tersedia Toolbox–toolbox yang dapat digunakan. Perbaikan kualitas citra merupakan suatu proses yang dilakukan untuk mendapatkan kondisi tertentu pada citra. Perbaikkan tepian objek (edge enhancement) c.BAB IV PENUTUP Kesimpulan Citra digital adalah fungsi dua dimensi f(x. yang bertujuan untuk mendapatkan suatu citra hasil yang lebih baik dari sebelumnya. pada 19 .

DO NOT EDIT gui_Singleton = 1.Executes just before UAS_Citra is made visible. gui_Singleton.. 'gui_OpeningFcn'. varargin{:}).'visible'. Saran Penulis menyadari laporan ini masih memiliki banyak kekurangan. dengan tujuan agar dapat lebih mudah dipahami bagi pembaca lainnya.. if nargin && ischar(varargin{1}) gui_State. hendaknya dalam pembuatan programnya dibuat output yang lebih detail pada setiap tahap perbaikan kualitas citra.'off') % Choose default command line output for UAS_Citra handles. end % End initialization code . oleh karena itu penulis dapat memberikan saran kepada pembaca yang mungkin lebih mengerti dalam menggunakan MATLAB. handles..Tampil. [] . LAMPIRAN Lampiran Script Matlab GUI (UAS_CITRA) function varargout = UAS_Citra(varargin) % Begin initialization code . eventdata. 'gui_OutputFcn'. 'gui_Callback'.output = hObject. % Update handles structure guidata(hObject.. mfilename..figure1). 'gui_LayoutFcn'. 'gui_Singleton'.kasus ini digunakan pengolahan citra dimana secara otomatis matlab melakukan pengolahan terhadap citra sesuai dengan syntaksnya. else gui_mainfcn(gui_State.'visible'. .. @UAS_Citra_OutputFcn. . gui_State = struct('gui_Name'. .. end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State.Tampil. @UAS_Citra_OpeningFcn. []).DO NOT EDIT % --. function UAS_Citra_OpeningFcn(hObject. . handles).'off') set(handles. 20 .gui_Callback = str2func(varargin{1}). varargin{:}).. % UIWAIT makes UAS_Citra wait for user response (see UIRESUME) % uiwait(handles. varargin) %set(handles.. ..

jpg'.'Userdata'.axes1.'CurrentAxes'. I=imresize(R.[512 512]. %proyek=guidata(gcbo). eventdata.'string'.output. % hObject handle to pushbutton1 (see GCBO) % eventdata reserved .to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --. function varargout = UAS_Citra_OutputFcn(hObject. set(proyek.'Peringatan'.axes1. eventdata. eventdata. handles) % Get default command line output from handles structure varargout{1} = handles.figure1. set(proyek.axes1). %else %PSF=fspecial('unsharp').'visible'.tif'}. 21 .Tampil. %I=get(proyek.I).% --. eventdata.I).'bilinear'). %A=imnoise(I. handles). function pushbutton2_Callback(hObject.'warn').']). % --. end eval(['cd ''' direktori '''. %set(handles.Outputs from this function are returned to the command line. %redo_Callback(hObject.axes2). %set(imshow(A)). set(proyek.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --.'*.Executes on button press in pushbutton2.'*.Tampil.proyek.figure1.Tampil.figure1.'on') set(handles.bmp'.direktori]=uigetfile({'*.'Buk a Gambar') if isequal(namafile.'Userdata'). set(imshow(I)).Executes on button press in pushbutton3.'visible'. %end % hObject handle to pushbutton2 (see GCBO) % eventdata reserved . %set(proyek.'salt & pepper').proyek. eventdata.'on') set(handles.'.'*.'CurrentAxes'.'Userdata'. function pushbutton3_Callback(hObject.'Gambar Asli Telah Diresize Menjadi 512 x 512').Executes on button press in pushbutton1. %set(proyek. [namafile.[]) %msgbox('Belum ada gambar!'. %if isequal(I.axes2. handles) proyek=guidata(gcbo). handles) hello_world.'Userdata'. R=imread(namafile).A).0)png return. function pushbutton1_Callback(hObject. handles) proyek=guidata(gcbo).

'CurrentAxes'. set(proyek. handles) proyek=guidata(gcbo).!!!'. cla. eventdata.axes2).jpg'.'Peringatan'.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --. cla. idMode = get (hObject.'warn'). function mode_Callback(hObject.axes1).figure1. end else if idMode ==4 if isequal(Y.'CurrentAxes'.. % hObject handle to pushbutton4 (see GCBO) % eventdata reserved .[namafile. if idMode ==5 if isequal(Y. set(proyek. else PSF=fspecial('unsharp').strcat(direktori.'Userdata'.'warn'). end % hObject handle to pushbutton3 (see GCBO) % eventdata reserved .namafile)).'Peringatan'.*'}.'Userdata').'Peringatan'.'Userdata'.axes2.figure1.A). Y=get(proyek. else A=imnoise(Y.'*.figure1.proyek.direktori]=uiputfile({'*. cla.[]) msgbox('Maaf Belum disimpan karena Belum ada gambar!'. handles) proyek=guidata(gcbo).A). set(imshow(A)).axes4). else imwrite(I. set(proyek.figure1.'CurrentAxes'.Executes on selection change in mode.axes2. 'Value').'speckle').figure1.'poisson'). set(imshow(A)).axes2).[]) msgbox('Maaf Belum Diberi Noise karena Belum Ada Gambar. set(proyek.axes2.proyek. if isequal(I.'CurrentAxes'. eventdata.proyek..Executes on button press in pushbutton4.'CurrentAxes'. function pushbutton4_Callback(hObject.figure1.proyek. set(proyek. set(proyek. set(proyek.axes2). set(proyek.'Simpan Citra'). A=imnoise(Y.!!!'.[]) msgbox('Maaf Belum Diberi Noise karena Belum Ada Gambar.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --..proyek.axes5). cla.proyek.'CurrentAxes'. I=get(proyek.'warn').axes5.. end 22 .'Userdata').

proyek. end else if idMode == 2 if isequal(Y.. set(proyek. get(0. set(proyek.'Peringatan'. set(proyek.A).else if idMode == 3 if isequal(Y.'BackgroundColor'. handles) % hObject handle to mode (see GCBO) % eventdata reserved .'CurrentAxes'.Executes during object creation.'warn')..'String') returns mode contents as cell array % contents{get(hObject.axes2. end 23 .'warn'). function mode_CreateFcn(hObject.figure1.[]) msgbox('Maaf Belum Diberi Noise karena Belum Ada Gambar.'salt & pepper').axes2).'BackgroundColor').. else A=imnoise(Y. end else if idMode == 1 msgbox('Maaf Silahkan Pilih Noise Ke-1.[]) msgbox('Maaf Belum Diberi Noise karena Belum Ada Gambar.'CurrentAxes'.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject.'white').A). else PSF=fspecial('unsharp').axes2).proyek.'Peringatan'.'Peringatan'. set(imshow(A)). atau Ke3.'Userdata'..axes2.figure1.'Value')} returns selected item from mode % --. Ke-2.!!!'.. % See ISPC and COMPUTER.'gaussian').'Userdata'.'defaultUicontrolBackgroundColor')) set(hObject. eventdata. A=imnoise(Y..'warn') end end end end end % hObject handle to mode (see GCBO) % eventdata reserved . set(imshow(A)).to be defined in a future version of MATLAB % handles empty .handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. set(proyek.!!!'.!!!'. after setting all properties. if ispc && isequal(get(hObject.

[4. end else if idMode == 4 if isequal(A.[])). else J=[1/20 1/20 1/20.].'CurrentAxes'.% --.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar. set(imshow(B)).1/20 1/20 1/20.figure1.J. end else if idMode ==5 if isequal(A.axes4. else B=medfilt2(A.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.axes4).figure1.axes4.axes2.'CurrentAxes'.axes4).proyek.figure1.Executes on selection change in mode1.15) B=imfilter(A..figure1.'Userdata'.'DisplayRange'. set(imshow(B..[4 4]). 'Value'). B=imfilter(A. else J=fspecial('average'.'Peringatan'.. eventdata.!!!'. set(imshow(B))..[3 3]).[]) 24 . set(proyek.B).. function mode1_Callback(hObject.'CurrentAxes'. set(imshow(B)).'Userdata'. if idMode ==7 if isequal(A.axes4.'Peringatan'.'warn').'conv').B).proyek.axes4).axes4). 1/50 1/50 1/50.proyek.'Peringatan'. else J=fspecial('gaussian'.!!!'. set(proyek.'warn'). set(proyek.'CurrentAxes'. handles) proyek=guidata(gcbo).axes4. idMode = get (hObject.. set(proyek. set(proyek.. end else if idMode == 3 if isequal(A.'Userdata'.. A=get(proyek.4].'Peringatan'.!!!'.B). B=filter2(J.'warn'). end else if idMode == 6 if isequal(A. set(proyek.'symmetri'.proyek.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.J). set(proyek.!!!'. set(proyek.'warn').'Userdata'.A).'Userdata').B).

'DisplayRange'.'Peringatan'.. end else if idMode == 2 if isequal(A.'warn'). set(imshow(B.'Value')} returns selected item from mode1 % --.axes4).axes4. set(proyek. 1/9 1/9 1/9.'warn') end end end end end end end % hObject handle to mode1 (see GCBO) % eventdata reserved .figure1..[])).'Userdata'. end else if idMode == 1 msgbox('Maaf Silahkan Difilter Ke-1.1/9 1/9 1/9].'String') returns mode1 contents as cell array % contents{get(hObject.figure1.!!!'. Ke-2.proyek.'CurrentAxes'..'DisplayRange'. eventdata.'Userdata'. -1 9 -1. set(proyek.axes4). Ke-3 Atau Ke4.B). 25 . set(imshow(B. B=filter2(J.msgbox('Maaf Belum Difilter karena Belum Ada Gambar.Executes during object creation.'warn').[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar. function mode1_CreateFcn(hObject.B)..[])). -1 -1 -1]. else %Low Pass Filter J=[1/9 1/9 1/9.A).. set(proyek.'CurrentAxes'.'Peringatan'.A). set(proyek.axes4.!!!'. after setting all properties..to be defined in a future version of MATLAB % handles empty . else %High Pass Filter J=[-1 -1 -1. B=filter2(J.proyek.handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows.!!!'.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject.'Peringatan'. handles) % hObject handle to mode1 (see GCBO) % eventdata reserved .

eventdata. function pushbutton5_Callback(hObject.'*. handles) proyek=guidata(gcbo).Executes on selection change in mode3.'Userdata'. else imwrite(I.axes1.'warn'). [namafile. I=get(proyek.Executes on button press in pushbutton5.axes5. handles) % hObject handle to axes4 (see GCBO) % eventdata reserved . function axes4_CreateFcn(hObject.'Peringatan'. 'Value'). end % --.[]) msgbox('Maaf Belum Ada Gambar. if ispc && isequal(get(hObject. eventdata.!!!'. after setting all properties. set(proyek.to be defined in a future version of MATLAB % handles empty . end else if idMode == 1 if isequal(I.[]) msgbox('Maaf Belum disimpan karena Belum ada gambar!'.handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes4 % --.'BackgroundColor').'BackgroundColor'.to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --.'warn'). end % hObject handle to pushbutton5 (see GCBO) % eventdata reserved . idMode = get (hObject.'Userdata').Executes during object creation.axes4.'Peringatan'. handles) proyek=guidata(gcbo).'Peringatan'.jpg'.!!!'. get(0. if isequal(I. 26 .*'}.'warn').'Userdata').[]) msgbox('Maaf Belum Belum Ada Gambar.axes5).Y)..strcat(direktori. set(proyek. eventdata...'white').'CurrentAxes'.% See ISPC and COMPUTER.namafile))..figure1. else Y=rgb2gray(I). set(imshow(Y)). I=get(proyek.proyek. function mode3_Callback(hObject.'Simpan Citra'). if idMode == 2 if isequal(I.'defaultUicontrolBackgroundColor')) set(hObject.direktori]=uiputfile({'*.

axes5. if idMode ==6 if isequal(A. eventdata. handles) proyek=guidata(gcbo).'Userdata'. eventdata. A=get(proyek. kolom = size(citra. end end end % hObject % eventdata MATLAB % handles handle to mode3 (see GCBO) reserved .proyek. set(proyek. % See ISPC and COMPUTER.'BackgroundColor'.figure1. set(imshow(Y)).'defaultUicontrolBackgroundColor')) set(hObject.Executes on selection change in mode4. function mode3_CreateFcn(hObject. function mode4_Callback(hObject. else citra = A.Executes during object creation.. size(citra).to be defined in a future version of MATLAB % handles empty . get(0.Y).!!!'.'warn').'white'). end % --. %matriks High Pass Filter 27 .2). after setting all properties. handles) % hObject handle to mode3 (see GCBO) % eventdata reserved .to be defined in a future version of structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject. if ispc && isequal(get(hObject. 'Value').'Value')} returns selected item from mode3 % --. idMode = get (hObject.handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows.axes2.'String') returns mode3 contents as cell array % contents{get(hObject. baris= size(citra.else Y=I.axes5).'Userdata').[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.'CurrentAxes'.1).'Peringatan'. set(proyek.'BackgroundColor')..

hasilcitra).. for warna = 1 : 3 for i = 2 : (baris-1) for j = 2 : (kolom-1) hasilcitra(i.J.j-1.warna) +citra(i.figure1.warna) = hasilcitra(i..warna)+citra(i. B=imfilter(A. set(proyek.'Userdata'.warna) + citra(i.axes4).'symmetri'.warna) + citra(i-1. else citra = A.figure1.'conv')..warna)+citra(i+1. hasilcitra=double(hasilcitra).warna).axes4.axes4).[3 3]).4].'Peringatan'. citra = double(citra).'warn').matriksHPF =[1 0 1. else J=fspecial('average'. hasilcitra(i. set(imshow(hasilcitra)). end else if idMode ==4 if isequal(A.figure1.j-1.axes4.j.'warn').B). set(proyek. 28 . 0 5 0.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.j-1.!!!'.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.'warn').warna)+ citra(i+1.!!!'.J).'Userdata'. set(imshow(B)).proyek.. end else if idMode == 3 if isequal(A. set(proyek.proyek.j+1. size(citra)...'CurrentAxes'.[4.warna)/9.'Peringatan'.B).j.!!!'.'CurrentAxes'.warna) = . set(proyek.warna)+ citra(i+1.proyek.warna) + citra(i-1..axes4).1). 1 0 1].j. else J=fspecial('gaussian'. end else if idMode == 5 if isequal(A.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar. end end end %Blok display citra hasilcitra=uint8(hasilcitra).'Peringatan'.j. set(proyek. set(imshow(B)). set(proyek.'CurrentAxes'. citra(i-1.j+1.j+1.15) B=imfilter(A. baris= size(citra..j.axes4.'Userdata'.j.

%matriks High Pass Filter matriksHPF =[-1 -1 -1.proyek.warna)+citra(i+1. set(proyek.warna)+citra(i. -1 8 -1.warna) = hasilcitra(i.warna).warna)+ citra(i+1.warna).j-1.. for warna = 1 : 3 for i = 2 : (baris-1) for j = 2 : (kolom-1) hasilcitra(i.j+1.1). end end end %Blok display citra hasilcitra=uint8(hasilcitra).j+1.warna) + citra(i.warna)+ citra(i+1.j+1..j.j-1. for warna = 1 : 3 for i = 2 : (baris-1) for j = 2 : (kolom-1) hasilcitra(i.'CurrentAxes'.warna)+ citra(i+1.hasilcitra).warna)+citra(i+1.warna) + citra(i-1.figure1.warna)/9. hasilcitra=double(hasilcitra)..j. % 1/9 1/9 1/9].warna) +citra(i.warna) = .'warn').'Userdata'. end else if idMode == 2 if isequal(A.j.2).warna) + citra(i-1.warna)/9.j+1.proyek. -1 -1 -1]. set(proyek.!!!'. set(proyek. hasilcitra(i.warna) + citra(i.2).j.j. hasilcitra(i. baris= size(citra..j-1.j. citra(i-1.j+1. end end end %Blok display citra hasilcitra=uint8(hasilcitra).j.warna) +citra(i. size(citra).warna) + citra(i-1. 29 .kolom = size(citra.j.j+1.warna)+citra(i.[]) msgbox('Maaf Belum Difilter karena Belum Ada Gambar.j-1. kolom = size(citra. hasilcitra=double(hasilcitra)..j-1.warna)+ citra(i+1.warna) + citra(i-1.axes4).axes4).'CurrentAxes'. citra(i-1.figure1.j. %matriks Low Pass Filter matriksLPF =[1/4 1/4. set(imshow(hasilcitra)). citra = double(citra). citra = double(citra).j-1.warna) = hasilcitra(i..j.j.axes4.'Peringatan'. 1/4 1/4].warna) = .j. else citra = A.

'Userdata'). [rows columns] = size(A).'white'). B=get(proyek.'Userdata'). set(proyek. get(0.'BackgroundColor'). eventdata.to be defined in a future version of structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject.axes4.handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows.Executes during object creation.axes5.axes4.4. function mode4_CreateFcn(hObject.!!!'.'Userdata'.'defaultUicontrolBackgroundColor')) set(hObject.^ 2. %imshow(noisyImage. eventdata.[]).end set(imshow(hasilcitra)). mse = sum(sum(mseImage)) / (rows * columns) PSNR = 10 * log10( 256^2 / mse) %for j=1:4 %subplot(1.i).hasilcitra). if ispc && isequal(get(hObject. mseImage = (double(A) . for i=0. end % --. Ke-3 Atau Ke4. handles) % hObject handle to mode4 (see GCBO) % eventdata reserved .'String') returns mode4 contents as cell array % contents{get(hObject. 30 . A=get(proyek.'warn') end end end end end end % hObject % eventdata MATLAB % handles handle to mode4 (see GCBO) reserved . Ke-2.1:0. handles) proyek=guidata(gcbo).'Peringatan'. % See ISPC and COMPUTER. after setting all properties.'Value')} returns selected item from mode4 % --.4 %for j=1:4 %noisyImage = imnoise(grayImage. function pushbutton6_Callback(hObject.double(B)) .'BackgroundColor'..to be defined in a future version of MATLAB % handles empty .Executes on button press in pushbutton6. 'salt & pepper'.j).. else if idMode == 1 msgbox('Maaf Silahkan Difilter Ke-1.

%set(proyek.^2)) set(handles.'string'.%PSNR = 10*log10(1/mean((A(:)-B(:)). ['Keluar ' get(handles..'CurrentAxes'..to be defined in a future version of MATLAB % handles empty . set(handles.. handles) selection=questdlg(['Keluar Dari ' get(handles..figure1.figure1) 31 .'Userdata'.'Tidak'. end delete(handles.Executes during object creation. 'Ya'.mse).. % hObject % eventdata MATLAB % handles handle to pushbutton6 (see GCBO) reserved .'Name')'']. after setting all properties.'Ya').'Name')''].figure1.'string'. %set(imshow(A)). PSNR).figure1..'Tidak') return.PSNR).axes6).Executes on button press in pushbutton7. if strcmp(selection. function pushbutton7_Callback(hObject.MSEE.proyek.axes2. end %set(proyek. % hObject handle to text7 (see GCBO) % eventdata reserved .handles not created until after all CreateFcns called % --.PS.to be defined in a future version of structure with handles and user data (see GUIDATA) % --. eventdata.

Digital Signal And Image Proccesing using MATLAB.blogspot. 2006. Prasetyo Eri. R. 2012. W. Blnchet Gerard and Charbit Maurice. PENINGKATAN MUTU CITRA (IMAGE ENHANCEMENT) PADA DOMAIN SPATIAL. 2007.com/2009/01/pengolahan-citra-digital. Gonzalez.Woods.html SuhendraAdang.Referensi http://shinigamirulez. Ebook Pertemuan ke – 5. http://www. Emy. Digital Image Processing. Digital signal and image proccesing series.E. R. Ebook. 2012.com/ 32 . Ebook. 2001.C. Peningkatan Mutu Citra.mathworks. Catatan Kuliah Pengantar Pengolahan Citra. Ebook.

Sign up to vote on this title
UsefulNot useful