Rabu, 18 Februari 2015

TUGAS PENGOLAHAN CITRA DAN POLA OPERASI TITIK GRAYSCALE DAN DILASI MORFOLOGI

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
otitik {f(x,y)}
 
 



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 :
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinckZfBWm3dI_AWLD1EF2kbZeFICcS9BrN1brQzjA1YCuQHFaD3kpSANgW-b-VsMEajsruIkKxoQVcvrJudghTNFyhJBx4UFBCGxHKR8-tSCVhVYZUceIS4_K_2mCUZlNXOXXVpiFlT6Q/s320/sample.jpghttps://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr-4XxOOeVsVkVqCog06FEPNP-JF6gBPJEa2O4z1PZp7gFIxXTnb5GLaQbbB2Eg6AZPZaqHeEdjVFJJzWywqJcDkviEjHPwsf3wYXDNNI7-YT79g9LlK9xGa_HalWbHAUPWG8LTc7dHs0/s320/sample-gray.jpg
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

Brigida. -. Grayscale. Diakses pada tanggal 13-01/2015 http://informatika.web.id/grayscale-2.htm
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




1 komentar: