BAB I
PENDAHULUAN
1.1 Latar
Belakang
Perkembangan teknologi, terutama di bidang dunia
digital, membawa perubahan cukup besar. Salah satunya dengan adanya
digitalisasi data citra. Selain di bidang teknologi, pengolahan citra juga
dimanfaatkan sebagai pengenalan pola. Gambar merupakan presentasi dari hasil
foto atau lukisan suatu benda yang nyata, untuk itu gambar dapat dilihat dari
berbagai sudut pandang. Salah satunya adalah suatu gambar pemandangan dimana
gambar tersebut merupakan sebuah gambar satu kesatuan yang tanpa menentukan
mana objek dan mana background.
Dalam bidang pengolahan citra, istilah citra mengacu pada
suatu fungsi intensitas dalam bidang dua dimensi. Pemrosesan citra menggunakan
komputer membutuhkan citra digital sebagai masukannya.
Untuk melakukan pemrosesan citra dapat menggunakan bantuan tools yang terdapat
pada aplikasi Matlab. Matlab adalah sebuah bahasa high-performance untuk komputasi teknis. Matlab merupakan singkatan
dari MATrix LABoratory yang
dikembangkan oleh The Mathwork.Inc. Matlab mengintegrasikan
perhitungan,visualisasi dan pemrograman dalam suatu lingkungan yang mudah
digunakan. GUIDE atau GUI (graphical user
interface) yang dibangun dengan objek grafik seperti tombol,kotak teks dan
lain-lain. Matlab juga mendukung untuk tools GUI ini.
Untuk melakukan eksekusi pada citra untuk
mendapatkan hasil citra yang lebih baik maka dilakukan perbaikan citra.
Berdasarkan latar belakang diatas maka dibuatlah laporan ini dengan judul
“Pengolahan Citra dan Pola,Operasi Titik Grayscale dan Dilasi Morfologi”.
1.2 Rumusan
Masalah
Berdasarkan
latar belakang diatas, rumusan masalah yang dapat diambil adalah bagaimana
membangun aplikasi pengolahan citra dan pola untuk operasi titik grayscale dan
dilasi morfologi dengan menggunakan GUI pada Matlab?
1.3 Batasan
Masalah
Berdasarkan
rumusan masalah diatas, maka untuk memudahkan dalam penyusunan laporan akan
dibatasi masalah, antara lain :
a. Aplikasi
yang akan dibangun dapat memilih citra dengan ekstensi .jpg, .png, .jpeg, dan
.tif
b. Hanya
2 pilihan perbaikan citra yang diakomodasi oleh aplikasi ini yaitu grayscale
dan dilasi
1.4 Tujuan
Adapun
tujuan yang dicapai dalam laporan ini adalah membangun aplikasi pengolahan
citra dan pola untuk operasi titik grayscale dan dilasi morfologi dengan
menggunakan GUI pada Matlab
BAB II
TINJAUAN PUSTAKA
2.1 Operasi titik
Karakteristik
titik pada citra yaitu koordinat yang menunjukkan lokasi titik pada citra.
Operasi dilakukan pada pixel tunggal di dalam citra yang dikenal dengan pointwise.
Secara matematis, aras titik dinyatakan sebagai berikut.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fB(x, y) = Otitik{fA(x, y)}
Keterangan:
fA= pixel citra sebelum diolah
fB
= pixel citra setelah diolah
|
Operasi
titik terbagi menjadi tiga macam, yaitu berdasarkan intensitas, berdasarkan
geometri, dan berdasrkan keduanya. Operasi Pengembangan atau thresholding termasuk ke dalam bagian
intensitas. Selain Operasi pengembangan yang termasuk ke bagian intensitas ini
adalah negatif digital, pemotongan (clipping), dan perubahan brightness.
Namun kali ini hanya dibahas
tentang Operasi Pengembangan saja
2.2 Operasi
Titik Grayscale
Grayscale atau abu-abu pada
sebuah image digital adalah image yang pada setiap pixelnya hanya berisikan
informasi intensitas warna putih dan hitam. Image Grayscale memiliki banyak
variasi nuansa abu-abu sehingga berbeda dengan image hitam-putih. Grayscale
juga disebut monokromatik karna tidak memiliki warna lain selain variasi
intensitas putih dan hitam. Sebuah image yang dijadikan Grayscale akan terkesan
berbeda bila dibandingkan dengan image berwarna.
Berikut ini adalah contoh image asli dan image
hasil grayscale :
Gambar 1. Image asli Gambar 2. Image grayscale
Berikut ini adalah contoh Kode Program untuk menjadikan image
Grayscale menggunakan MatLab.
%menghilangkan
cache
clear;
%mengambil
data gambar
tmp =
imread('sample.jpg');
%konsetrasi
abu-abu
grayVal =
1.2;
%lakukan
pembacaan pixel sebesar dimensi gambar yaitu 375x500x3
for
i=1:375
for j=1:500
%melakukan manipulasi marix ke menjadi
gray
v = (tmp(i,j,1) + tmp(i,j,2) +
tmp(i,j,3) ) / grayVal;
img(i,j,1) = v ;
img(i,j,2) = v ;
img(i,j,3) = v ;
end
end
%menampikan
gambar hasil manipulasi
imshow(img);
Dimensi dari image sample.jpg
(nama file pada contoh diatas) adalah 375x500x3. Apabila Anda menggunakan image
yang lain sangat mungkin dimensinya berbeda.
Berikut ini adalah penjelasan dari angka-angka
dimensi tersebut.
375Mengartikan
Lebar Image
376500 =
Mengartikan Panjang Image
3773 =
Mengartikan image terdiri dari 3 matriks yaitu (Red, Green, Blue)
Perubahan warna pixel menjadi Grayscale tersebut
dilakukan pada tiga matriks (Red, Green, Blue) Nilai warna pada setiap matriks
(Red, Green, Blue) dijumlahkan kemudian dibagi sebuah nilai
2.3 Morfologi
Menurut Gusa (2013) kata morfologi secara sederhana
dapat diartikan sebagai bentuk dan struktur suatu objek. Operasi morfologi
menggunakan dua input himpunan yaitu suatu citra (pada umumnya citra biner) dan
suatu kernel. Khusus dalam morfologi, istilah kernel biasa disebut elemen
pembentuk struktur (structuring element / SE). SE merupakan suatu matriks dan pada
umumnya berukuran kecil.
Sedangkan menurut Pratama (2007) Operasi morfologi adalah teknik pengolahan citra
yang didasarkan pada bentuk segmen atau region dalam citra. Karena difokuskan
pada bentuk objek, maka operasi ini biasanya diterapkan pada citra biner.
Biasanya segmen tadi didasarkan pada objek yang menjadi perhatian. Segmentasi
dilakukan dengan membedakan antara objek dan latar, antara lain dengan
memanfaatkan operasi pengambangan yang mengubah citra warna dan skala keabuan
menjadi citra biner. Nilai biner dari citra hasil merepresentasikan 2 keadaan:
objek dan bukan objek (latar). Meskipun lebih banyak dipakai pada citra biner,
operasi morfologi sering pula digunakan pada citra skala keabuan dan warna.
Hasil operasi morfologi dapat dimanfaatkan untuk pengambilan keputusan dengan
analisis lebih lanjut.
Ada dua operasi dasar morfologi yaitu Dilasi dan Erosi.
Namun kali ini yang dibahas hanya Morfologi dalam Dilasi saja.
2.4 Dilasi Morfologi
Bila suatu objek (citra input) dinyatakan dengan A,
SE dinyatakan dengan B serta Bx menyatakan translasi B sedemikian sehingga pusat
B terletak pada x, maka operasi dilasi A dengan B dapat dinyatakan sebagai
berikut.
D(A,B)
= A ⨁ B {x: Bx
∩ AØ}
dengan Ø menyatakan himpunan
kosong.
Proses dilasi dilakukan dengan membandingkan setiap
piksel citra input dengan nilai pusat SE dengan cara melapiskan (superimpose)
SE dengan citra sehingga pusat SE tepat dengan posisi piksel citra yang diproses.
Jika paling sedikit ada 1 piksel pada SE sama dengan nilai piksel objek
(foreground) citra, maka piksel input diset nilainya dengan nilai piksel
foreground dan bila semua piksel yang berhubungan adalah background maka piksel
input diberi nilai piksel background. Proses serupa dilanjutkan dengan menggerakkan
(translasi) SE piksel demi piksel pada citra input. Semakin besar ukuran SE
maka semakin besar perubahan yang terjadi. Efek dilasi terhadap citra biner
adalah memperbesar batas
dari objek yang
ada sehingga objek terlihat semakin besar dan lubang-lubang yang terdapat di
tengah objek akan tampak mengecil.
Operasi dilasi dilakukan untuk memperbesar ukuran
segmen objek dengan menambah lapisan di sekeliling objek. Terdapat 2 cara untuk
melakukan operasi ini, yaitu dengan cara mengubah semua titik latar yang
bertetangga dengan titik batas menjadi titik objek, atau lebih mudahnya set
setiap titik yang tetangganya adalah titik objek menjadi titik objek. Cara
kedua yaitu dengan mengubah semua titik di sekeliling titik batas menjadi titik
objek, atau lebih mudahnya set semua titik tetangga sebuah titik objek menjadi
titik objek.
Rumus dilasi
Gambar
3. Contoh Operasi Dilasi, memperbesar ukuran objek
Matlab memproses
dilasi dengan fungsi imdilate.m. Sintaksnya sbb. imdilate (image, kernel)
Contoh
t = imread ('text.png');
d = ones (3);
td = imdilate (t,
d);
subplot (1,2,1),
imshow (t)
subplot (1,2,2), imshow (td)
Gambar 4. Citra awal dan citra
hasil operasi dilasi
Terlihat pada gambar bahwa hasil
dilasinya berupa teks yang sama namun huruf-hurufnya menjadi lebih tebal.
2.5 Matlab
Matlab adalah sebuah
bahasa high-performance untuk
komputasi teknis. Matlab merupakan singkatan dari MATrix LABoratory yang dikembangkan oleh The Mathwork.Inc. Matlab
mengintegrasikan perhitungan,visualisasi dan pemrograman dalam suatu lingkungan
yang mudah digunakan. Bahasa pemrograman ini banyak digunakan di berbagai
bidang terutama dalam bidang sains, diantaranya matematika dan komputasi,
pengembangan algoritma, analisis data, visualisasi, grafik untuk sains dan
teknik serta pengembangan aplikasi termask pembuatan antarmuka grafis untuk
pengguna (Graphical User Interface)
2.6 GUI
GUIDE atau GUI builder merupakan sebuah graphical
user interface (GUI) yang dibangun dengan obyek grafik seperti tombol (button),
kotak teks, slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya
lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak
perlu mengetahui perintah yang ada dan bagaimana kerjanya.
GUIDE Matlab mempunyai kelebihan
tersendiri dibandingkan dengan bahasa pemrogram lainnya, diantaranya:
1.
GUIDE Matlab banyak
digunakan dan cocok untuk aplikasi-aplikasi berorientasi sains, sehingga banyak
peneliti dan mahasiswa menggunakan GUIDE Matlab untuk menyelesaikan riset atau
tugas akhirnya.
2.
GUIDE Matlab mempunyai
fungsi built-in yang siap digunakan dan pemakai tidak perlu repot membuatnya
sendiri.
3.
Ukuran file, baik FIG-file
maupun M-file, yang dihasilkan relatif kecil.
4.
Kemampuan grafisnya cukup
andal dan tidak kalah dibandingkan dengan bahasa pemrograman lainnya.
BAB
III
HASIL
DAN PEMBAHASAN
3.1
Rancangan Interface Eksekusi citra grayscale dan dilasi
Gambar 3.1 Interface eksekusi citra
grayscale
Interface Eksekusi citra Dilasi
Gambar 3.2 Interface Eksekusi citra
Dilasi
3.2 Implementasi
a.
Desain tampilan GUI
3.3 Desain tampilan GUI
b. Aplikasi saat dijalankan
saat dijalankan atau diruning, aplikasi
memberikan 3 pilihan tombol pada panel fungsi, yaitu browse, grayscale dan
dilasi. Untuk mengambil citra dari komputer, pilih tombol browse, kemudian cari
pada direktori mana citra yang akan dieksekusi, kemudian klik OK.
3.4 Tampilan
aplikasi saat dijalankan
c. Citra
yang dipilih muncul pada panel citra awal
Setelah
citra dipilih kemudian muncul pada panel citra awal, barulah bisa dilakukan
eksekusi citra grayscale dan dilasi.
Gambar
3.5 Citra muncul pada panel citra awal
d.
Untuk mendapatkan hasil citra grayscale,
klik tombol Grayscale pada panel fungsi, kemudian hasil gambar grayscale akan
tampil pada citra eksekusi. Pada bagian kiri panel akan tampil citra hasil
grayscale dan pada kanan panel akan ditampilkan histogram dari citra.
Gambar 3.6 Hasil citra grayscale
e.
Untuk mendapatkan hasil citra dilasi,
klik tombol dilasi pada panel fungsi, kemudian hasil gambar dilasi akan tampil
pada citra eksekusi. Pada bagian kiri panel akan tampil citra asli (sama dengan
gambar paling atas) dan pada kanan panel akan ditampilkan citra hasil dilasi dari
citra.
Gambar 3.7 Hasil citra dilasi
3.3 Kode Program (Syntax)
% --- Executes on button
press in btnbrowse.
function
btnbrowse_Callback(hObject, eventdata, handles)
% hObject handle to btnbrowse (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename,pathname]=uigetfile('*.jpeg;*.png;*.jpg;*.tif','Choose
Image : ');
I =
imread([pathname,filename]);
handles.I=I;
guidata(hObject,handles);
axes(handles.axes3);
imshow(I);
% --- Executes on button
press in btngrayscale.
function btngrayscale_Callback(hObject,
eventdata, handles)
% hObject handle to btngrayscale (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
I=handles.I;
axes (handles.axes1);
IG=rgb2gray(I);
imshow(IG);
axes (handles.axes2);
imhist(IG);
% --- Executes on button
press in btndilasi.
function
btndilasi_Callback(hObject, eventdata, handles)
% hObject handle to btndilasi (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
se=strel('ball',5,5);
I=handles.I;
axes (handles.axes1);
imshow(I);
axes (handles.axes2);
IG=rgb2gray(I);
di =imdilate(IG,se);
imshow(di);
DAFTAR
PUSTAKA
Janautama. -. Praktikum El4027 pengolahan citra biomedika. Diakses pada tanggal 11-01-2015 http://elib.unikom.ac.id/files/disk1/469/jbptunikompp-gdl-janautama-23430-1-modul1-t.doc
Oktaviani,Rika. 2014. Operasi-Operasi
Dasar Pengolahan Citra. Diakses pada 11-01-2015 http://saintek.uin-malang.ac.id/Mirror/ilmukomputer/rika-OperasiDasarPCD1.pdf
Susilawati,Indah. 2009. Teknik
Pengolahan Citra. Diakses pada 11-01-2015 http://meandmyheart.files.wordpress.com/2009/09/kuliah-10-mathematical-morphology.pdf