ANALISIS DAN PERANCANGAN PERANGKAT LUNAK IMAGE
THINNING DENGAN METODE ZHANG SUEN
SKRIPSI
SUCI INDAH SYAHPUTRI
091421022
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
ANALISIS DAN PERANCANGAN PERANGKAT LUNAK IMAGE
THINNING DENGAN METODE ZHANG SUEN
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
SUCI INDAH SYAHPUTRI
091421022
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS DAN PERANCANGAN PERANGKAT LUNAK IMAGE THINNING DENGAN METODE ZHANG SUEN
Kategori : SKRIPSI Nama : SUCI INDAH SYAHPUTRI Nomor Induk Mahasiswa : 091421022
Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Juli 2011
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Agus Salim Harahap, M.Si Maya Silvi Lydia, B.Sc., M.Sc NIP. 195408281981031004 NIP. 197401272002122001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
ANALISIS DAN PERANCANGAN PERANGKAT LUNAK IMAGE THINNING DENGAN METODE ZHANG SUEN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2011
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, yang selalu melimpahkan rahmat, kasih sayang, dan rizki yang tiada putus-putusnya, sehingga Alhamdulillah akhirnya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
ABSTRAK
Segmentasi citra merupakan langkah awal pada proses analisa citra yang bertujuan untuk pengenalan pola dengan mengambil informasi yang terdapat di dalam suatu citra. Image thinning merupakan salah satu aplikasi dari segmentasi citra untuk menghasilkan bentuk kerangka dari sebuah citra digital yang hanya berukuran 1 pixel sehingga mudah dikenal. Metode image thinning yang digunakan pada penelitian ini adalah Zhang Suen. Metode ini melakukan proses thinning dengan melakukan iterasi untuk mengambil nilai pixel yang termasuk ke dalam kategori contour point, melakukan iterasi untuk menghapus seluruh pixel yang termasuk ke dalam kategori contour point serta menampilkan hasil pengenalan pola dalam bentuk sebuah citra digital yang telah mengalami proses thinning.
ANALYSIS AND DESIGN IMAGE THINNING SOFTWARE WITH ZHANG SUEN METHOD
ABSTRACT
Image segmentation is the first step in the process of image analysis which aims to pattern recognition by taking the information contained in an image. Image thinning is one of the applications of image segmentation to produce a skeleton of a digital image that measures just 1 pixel so easily recognized. Image thinning method used in this study is Zhang Suen, it does the thinning process by performing iterations to retrieve pixel values that fall into the category of contour points, the perform iterations to remove all the pixels that fall into the category of contour points and displays the results of pattern recognition in the form a digital image that has undergone a process of thinning.
DAFTAR ISI
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 TINJAUAN PUSTAKA 6
2.1 Citra Digital 6
2.2 Format Citra Digital 8
2.3 Pengertian Pengolahan Citra 9
2.4 Peningkatan Mutu Citra 12
2.4.1 Filter Untuk Memperbaiki Citra 13 2.4.2 Filter Untuk Menyunting Citra 14 2.4.3 Filter Pergeseran Posisi (Position Shifting Filter) 16
2.5 Aritmetika Module 17
2.6 Citra Grayscale 17
2.7 Citra Biner 17
2.8 Citra Threshold 18
2.9 Image Thinning 19
2.9.1 Algoritma Thinning 23
2.9.2 Metode Zhang Suen 26
Bab 3 ANALISIS DAN PERANCANGAN SISTEM 28
3.1 Analisis Sistem 28
3.1.1 M
embaca Jumlah Pixel 29
3.1.2 M
enghitung Nilai RGB Citra 30
3.1.3 A
lgoritma Zhang Suen 37
3.2.1 F
lowchart Thinning Image 39
3.2.2 P
erancangan Antar Muka Program 41
Bab 4 IMPLEMENTASI DAN PENGUJIAN 44
4.1 Implementasi 44
4.1.1 Tampilan Menu Utama 45
4.1.2 Tampilan Image Thinning 47
4.1.3 Tampilan About 49
4.1.4 Tampilan Help 49
4.2 Pengujian Sitem 50
4.2.1 Pengujian Proses Thinning 51 4.2.2 Pengujian Tampilan Hasil Proses Thinning 57
Bab 5 PENUTUP 58
5.1. Kesimpulan 58
5.2. Saran 58
DAFTAR PUSTAKA 58
DAFTAR GAMBAR
Halaman
2.1 Sistem Kordinat Citra Digital 6 2.2 Representasi Warna RGB Pada Citra Digital 7 2.3 Image Histogram dari suatu gambar yang gelap 13
2.4 Gradasi Citra Biner 17
2.10 Citra Sirkuit Elektronika 22
2.11 Citra Karakter 22
2.12 Contoh Ukuran dari Beberapa Struktur Elemen 24
2.13 Contoh Struktur Elemen 25
2.14 Empat Bentuk Elemen Untuk Transformasi Hit-dan-miss 25 2.15 Proses Hit-dan-Miss yang Dilakukan pada suatu Citra Biner 26
2.16 Contoh Pixel P1 dengan 8 Tetangga 26
3.12 Rancangan Image Thinning 42
3.13 Rancangan About 42
4.5 Tampilan Hasil Thinning File Citra 47
4.6 Kotak Dialog Save File 48
4.8 Tampilan About 49
4.9 Tampilan Help 50
4.10 Citra Asli HP.bmp 51
4.11 Citra Hasil Thinning Hp.bmp 52
4.12 Citra Asli Uchy.bmp 52
4.13 Citra Hasil Thinning Uchy Thinning.bmp 53
4.14 Citra Asli Soccer.Jpg 54
4.15 Citra Hasil Thinning Thin.Jpg 55
4.16 Citra Asli Windows.Jpg 55
DAFTAR TABEL
Halaman
2.1 Bitmap Info Header 8
ABSTRAK
Segmentasi citra merupakan langkah awal pada proses analisa citra yang bertujuan untuk pengenalan pola dengan mengambil informasi yang terdapat di dalam suatu citra. Image thinning merupakan salah satu aplikasi dari segmentasi citra untuk menghasilkan bentuk kerangka dari sebuah citra digital yang hanya berukuran 1 pixel sehingga mudah dikenal. Metode image thinning yang digunakan pada penelitian ini adalah Zhang Suen. Metode ini melakukan proses thinning dengan melakukan iterasi untuk mengambil nilai pixel yang termasuk ke dalam kategori contour point, melakukan iterasi untuk menghapus seluruh pixel yang termasuk ke dalam kategori contour point serta menampilkan hasil pengenalan pola dalam bentuk sebuah citra digital yang telah mengalami proses thinning.
ANALYSIS AND DESIGN IMAGE THINNING SOFTWARE WITH ZHANG SUEN METHOD
ABSTRACT
Image segmentation is the first step in the process of image analysis which aims to pattern recognition by taking the information contained in an image. Image thinning is one of the applications of image segmentation to produce a skeleton of a digital image that measures just 1 pixel so easily recognized. Image thinning method used in this study is Zhang Suen, it does the thinning process by performing iterations to retrieve pixel values that fall into the category of contour points, the perform iterations to remove all the pixels that fall into the category of contour points and displays the results of pattern recognition in the form a digital image that has undergone a process of thinning.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Segmentasi citra (image segmentation) merupakan langkah awal pada proses analisa citra yang bertujuan untuk mengambil informasi yang terdapat di dalam suatu citra.
Pada umumnya segmentasi secara otomatis adalah salah satu pekerjaan yang sulit
dalam pengolahan citra. Langkah ini akan menentukan berhasil atau tidaknya proses
analisa citra. Namun dengan segmentasi yang efektif, kemungkinan besar akan
didapatkan hasil yang baik.
Image Thinning merupakan salah satu aplikasi dari segmentasi citra untuk menghasilkan bentuk kerangka dari sebuah citra digital dan mengolah citra digital
tersebut agar lebih padat. Dengan kata lain, image thinning bertujuan untuk memproses pixel-pixel pada sebuah citra digital agar menghasilkan sebuah citra digital yang lebih kecil ukurannya namun tetap memiliki informasi yang sama seperti
sebelum dilakukan proses thinning.
Thinning merupakan suatu proses penting sebelum melakukan proses-proses atau operasi-operasi pengolahan citra, seperti dalam proses pengenalan karakter optic, pengenalan sidik jari, pemrosesan teks, dan lain sebagainya. Tujuannya adalah
Dengan melakukan thinning pada sebuah citra digital, dapat dihasilkan sebuah citra digital dengan ukuran objek yang lebih kecil namun tidak mengurangi kualitas
dari citra digital tersebut. Salah satu metode image thinning yang dapat digunakan adalah Zhang Suen. Metode Zhang Suen merupakan algoritma image thinning yang menggunakan perbandingan sebagai basis dalam melakukan image thinning.
Dengan menggunakan perbandingan yang dilakukan secara berulang-ulang,
metode ini akan menghasilkan citra digital yang lebih padat sehingga cocok
digunakan dalam proses thinning sebuah citra digital.
Berdasarkan uraian di atas, penulis tertarik untuk merancang sebuah perangkat
lunak yang dapat melakukan thinning pada suatu citra digital dengan menggunakan metode Zhang Suen dan menuangkannya ke dalam penelitian dengan judul Analisis dan Perancangan Perangkat Lunak Image Thinning Dengan Metode Zhang Suen.
1.2 Rumusan Masalah
Adapun yang menjadi rumusan masalah dalam penelitian ini adalah:
a. Bagaimana cara melakukan thinning sebuah citra digital.
b. Bagaimana proses kerja metode Zhang Suen dalam melakukan thinning pada sebuah citra digital.
c. Bagaimana merancang sebuah perangkat lunak yang dapat melakukan thinning pada sebuah citra digital dengan menggunakan metode Zhang Suen.
1.3 Batasan Masalah
Adapun yang menjadi batasan masalah dalam penelitian ini adalah:
a. Metode image thinning yang digunakan adalah metode Zhang Suen.
b. Citra digital yang dapat di-thinning dibatasi dengan format JPEG dan BMP.
d. Output thinning yang dihasilkan merupakan sebuah citra digital dalam format JPEG.
e. Bahasa pemrograman yang digunakan adalah Microsoft Visual Basic 6.0.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah:
a. Untuk mengetahui proses kerja metode Zhang Suen dalam melakukan thinning pada sebuah citra digital.
b. Untuk mengetahui bentuk pengaplikasian metode Zhang Suen dalam bentuk sebuah perangkat lunak.
c. Untuk menghasilkan sebuah perangkat lunak yang mampu melakukan thinning pada sebuah citra digital.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah:
a. Membantu pengguna komputer untuk pengenalan pola dengan mengecilkan atau
menguruskan pola-pola pada citra digital.
b. Sebagai bahan referensi bagi peneliti lain yang ingin mengembangkan perangkat
lunak pengolahan citra digital, khususnya dalam bidang image thinning.
1.6 Metode Penelitian
Metode penelitian yang digunakan penulis dalam penelitian ini terdiri dari
tahapan-tahapan antara lain:
1. Studi literatur
Tentang teori image thinning, khususnya dengan menggunakan metode Zhang Suen.
2. Analisis
Pada tahap ini akan dilakukan analisis terhadap kebutuhan dan persyaratan
3. Perancangan Sistem
Pada tahap ini dilakukan perancangan tahapan proses pengolahan citra digital
sampai proses thinning, perancangan antarmuka serta perancangan prosedural sistem.
4. Pengkodean
Pada tahap ini sistem yang telah dirancang kemudian diimplementasikan ke
dalam bahasa pemrograman.
5. Pengujian dan Analisa Perangkat Lunak
Menganalisis dan menguji hasil image thinning dengan menggunakan metode Zhang Suen.
6. Penulisan laporan dalam bentuk skripsi
Menyusun laporan hasil analisis dan perancangan ke dalam format penulisan
skripsi dengan disertai kesimpulan akhir.
1.7 Sistematika Penulisan
Sistematika penulisan yang akan diuraikan dalam skripsi ini terbagi dalam beberapa
bab yang akan dibahas sebagai berikut:
BAB 1 : PENDAHULUAN
Pada Bab I membahas tentang latar belakang, perumusan masalah,
batasan masalah, tujuan penelitian, manfaat penelitian, metodologi
penelitian serta sistematika penulisan.
BAB 2 : LANDASAN TEORI
Pada Bab ini dibahas mengenai pengertian citra digital, image thinning, metode Zhang Suen dan teori lainnya yang mendukung pembuatan
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Berisikan penjelasan analisis dari sistem yang akan dibangun,
perancangan sistem, diagram-diagram, perancangan antar muka (user interface) meliputi perancangan input serta output.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan dituangkan hasil analisa dan perancangan sistem yang
ada di Bab 3 dalam bentuk aplikasi yang dibangun melalui infrastuktur
yang telah dijelaskan di bab-bab sebelumnya.
BAB 5 : KESIMPULAN DAN SARAN
Di dalam bab ini akan diberikan kesimpulan akhir dari hasil pengujian
aplikasi ini serta saran bagi pengembangan aplikasi dibahas pada skripsi
BAB 2
TINJAUAN PUSTAKA
2.1 Citra Digital
Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y
adalah koordinat spasial dan nilai f(x,y) yang merupakan intensitas citra pada
koordinat tersebut [6]. Teknologi dasar untuk menciptakan dan menampilkan warna
pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan
kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB). Sistem kordinat pada sebuah citra digital dapat dilihat pada Gambar 2.1.
Sumber: Munir, 2004
RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru, digabungkan dalam membentuk suatu susunan warna yang luas. Setiap warna dasar,
misalnya merah, dapat diberi rentang nilai. Untuk monitor komputer, nilai rentangnya
paling kecil = 0 dan paling besar = 256. Pilihan skala 256 ini didasarkan pada cara
mengungkap 8 digit bilangan biner yang digunakan oleh mesin komputer. Dengan
cara ini, akan diperoleh warna campuran sebanyak 256 x 256 x 256 = 1677726 jenis
warna. Sebuah jenis warna, dapat dibayangkan sebagai sebuah vektor di ruang
dimensi 3 yang biasanya dipakai dalam matematika, koordinatnya dinyatakan dalam
bentuk tiga bilangan, yaitu komponen-x, komponen-y dan komponen-z. Misalkan
sebuah vektor dituliskan sebagai r = (x,y,z). Untuk warna, komponen-komponen
tersebut digantikan oleh komponen R(ed), G(reen), B(lue). Jadi, sebuah jenis warna
dapat dituliskan sebagai berikut: warna = RGB(30, 75, 255). Putih = RGB
(255,255,255), sedangkan untuk hitam= RGB(0,0,0) [8]. Bentuk Representasi warna
dari sebuah citra digitial dapat dilihat pada Gambar 2.2.
Sumber: Sutoyo, 2009
Gambar 2.2 Representasi Warna RGB Pada Citra Digital
100 x 3 byte (karena RGB) = 30.000 byte = 30 KB atau 100 x 100 x 24 bits = 240.000 bits [9].
2.2 Format Citra Digital
Citra Digital memiliki beberapa format yang memiliki karakteristk tersendiri. Format
pada citra digital ini umumnya berdasarkan tipe dan cara kompresi yang digunakan
pada citra digital tersebut [2].
Ada empat format citra digital yang sering dijumpai, antara lain:
1. Bitmap (BMP)
Merupakan format Gambar yang paling umum dan merupakan format standard windows. Ukuran filenya sangat besar karena bisa mencapai ukuran megabyte. File ini merupakan format yang belum terkompresi dan menggunakan sistem warna
RGB (Red, Green, Blue) di mana masing-masing warna pixel-nya terdiri dari 3 komponen R, G, dan B yang dicampur menjadi satu. File BMP dapat dibuka dengan berbagai macam software pembuka Gambar seperti ACDSee, Paint, Irvan View dan lain-lain. File BMP tidak bisa (sangat jarang) digunakan di web (internet) karena ukurannya yang besar. Detail gambar BMP dapat dilihat pada Tabel 2.1 dan Tabel 2.2.
Tabel 2.1 Bitmap InfoHeader Nama Field Size in Bytes Keterangan
bfType 2 Mengandung karakter “BM” yang mengidentifikasikan tipe file
bfSize 4 Memori file
bfReserved1 2 Tidak dipergunakan
bfReserved1 2 Tidak dipergunakan
bfOffBits 4 Offset untuk memulai data pixel
bcSize 4 Memori Header
bcWidth 2 Lebar Gambar
bcHeight 2 Tinggi Gambar
bcPlanes 2 Harus 1
bcBitCount 2 Bits per pixels – 1,4,8 atau 24 2. Joint Photographic Expert Group (JPEG/JPG)
Format JPEG merupakan format yang paling terkenal sampai sekarang ini. Hal ini
karena sifatnya yang berukuran kecil (hanya puluhan/ratusan KB saja), dan
bersifat portable. Format file ini sering digunakan pada bidang fotografi untuk menyimpan file foto hasil perekaman analog to digital converter (ADC). Karena ukurannya kecil maka file ini banyak digunakan di web (internet).
2.3Pengertian Pengolahan Citra
Ada tiga bidang studi utama yang menangani pengolahan data dalam bentuk gambar
dan citra yaitu: grafika komputer, pengolahan citra dan pengenalan pola. Karena
pengenalan pola sering juga merupakan bagian dari pengolahan citra seperti misalnya
pada proses klasifikasi, maka perbedaan tiga bidang studi tersebut berubah menjadi:
grafika komputer, pengolahan citra dan visi komputer. Dimana pengenalan pola menjadi bagian dari pengolahan citra dan bagian dari visi komputer.
Komputer grafika banyak melakukan proses yang bersifat sintesis yang
mempunyai ciri data masukan berbentuk deskriptif dengan pengeluaran hasil proses
yang berbentuk gambar. Sebagai contoh adalah proses penggambaran prespektif suatu
objek tiga dimensi, yang merupakan data masukan berupa koordinat titik-titik yang
berbentuk objek tertentu, kemudian melalui proses transformasi tiga dimensi
menghasilkan gambar objek tiga dimensi sebagai hasil keluarannya. Contoh aplikasi
dari teknik komputer grafik ini banyak dijumpai pada proses desain dibidang
enjinering dan banyak pula ditemui dalam bidang seni.
Visi komputer merupakan proses analisis citra yang cirinya merupakan
gambar, dan proses yang dilakukan adalah proses penggalian struktur gambar dengan
hasil keluaran yang bersifat deskriptif. Sebagai contoh pengenalan jenis penyakit paru
melalui citra sinar-x paru penderita.
Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak
melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Dalam kenyataannya, batas antara ketiga bidang studi
diatas sulit untuk ditentukan. Sebagai contoh, dalam pembuatan film animasi, objek
dan proses animasinya diciptakan dengan teknik komputer grafik sedangkan
pembuatan latar belakangnya dapat dilakukan dengan teknik pengolahan citra. Disini
latar belakang gambar dapat dibuat secara sederhana melalui kombinasi proses
digitalisasi suatu foto dan proses zooming atau scrolling. Atau dapat pula dengan teknik yang lebih rumit seperti pembuatan fraktal dan tekstur. Pembauran antara
penggunaan teknik pengolahan citra dan grafika komputer juga dapat dilihat dalam
proses penggabungan peta tematik dan peta kontur. Contoh lain pada proses
pengenalan objek yang terkandung dalam suatu citra, dimana proses segmentasi yang
diperlukan merupakan bagian dari teknik pengolahan citra dan proses pengenalan
objeknya merupakan bagian dari teknik visi komputer.
Dalam penerapan pengolahan citra digital tujuannya adalah untuk mengolah
citra suatu objek agar dapat memperoleh informasi mengenai objek itu sendiri karena
hanya citra digital yang dapat diolah oleh komputer maka citra dari suatu objek harus dikonversi ke citra digital yang merupakan representasi dari objek itu sendiri.
Sistem pengolahan citra digital secara umum mencakup tiga operasi dasar yang terdiri
dari :
1. Digitalisasi (Digitalization) 2. Pengolahan (Processing) 3. Peragaan (Display)
Oleh karena itu maka sistem pengolahan citra digital mempunyai beberapa
komponen dasar, yang terdiri atas:
1. Digitizer
3. Storage 4. Alat peraga
Komputer digital hanya dapat memproses suatu citra dalam bentuk digital. Citra digital dapat diperoleh secara otomatis dari sistem penangkap citra digital (digitizer) yang melakukan penjelajahan citra dan membentuk suatu matriks dimana elemen-elemennya dinyatakan nilai intensitas cahaya pada suatu himpunan diskrit dari
titik-titik. Pada digitizer, sinyal yang diterima masih merupakan sinyal analog yang harus diubah ke digital dengan merubah harga kontinu menjadi harga diskrit selanjutnya citra yang diskrit diolah pada komputer digital untuk siap ditampilkan
pada monitor peraga dengan mengolah prosesor video digital melalui pengolahan citra terhadap pixel-pixel pada citra. Pada bagian operator disini dilakukan komunikasi antara pemakai dengan mesin pengolah. Baik bagi citra yang telah ditampilkan
maupun citra yang diolah dapat disimpan pada berbagai media penyimpanan seperti
hard disk maupun optical disk.
Adakalanya citra yang diperoleh dari digitizer langsung ditampilkan keperaga tetapi terlebih dahulu dengan mengolah prosesor video digital terhadap pixel citra tersebut. Proses konversi citra analog ke citra digital disebut dengan digitalisasi dan alatnya disebut dengan digitizer. Dengan demikian digitizer berfungsi untuk mengkonversi suatu image ke proses representasi numerik yang cocok untuk input oleh komputer digital. Contoh alat digitizer seperti scanner dan kamera digital.
Proses digitalisasi citra analog atau citra kontinu dibagi dalam daerah-daerah
kecil yang dinamakan dengan elemen gambar yang disebut dengan pixel. Skema pembagian paling umum adalah sisi segi empat yaitu dibagi kedalam garis-garis
Resolusi suatu array citra berpengaruh pada kualitas citra yang akan ditampilkan. Pada umumnya semakin tinggi suatu array citra maka semakin baik kualitas citra yang akan ditampilkan. Namun semakin tingginya resolusi suatu array
citra maka semakin besar jumlah bit memori yang harus dialokasikan untuk representasinya. Selain memori utama, pengolahan citra juga memerlukan
penyimpanan sekunder yang berfungsi untuk menyimpan data citra yang tidak sedang
diproses. Dengan tersedianya fasilitas storage dalam jumlah yang besar adalah suatu hal yang penting dalam perancangan pemakaian sistem pengolahan citra digital.
Alat peraga merupakan mata rantai terakhir pengolahan citra digital. Fungsi
alat peraga pada sistem pengolahan citra adalah untuk mempresentasikan nilai-nilai
numerik yang tersimpan dalam array citra kedalam bentuk yang dapat dimengerti oleh peralatan visual manusia. Untuk peraga citra tidak diperlukan jika outputnya berupa data numeric atau keputusan, tetapi sangat diperlukan bila output berupa tingkat keabuan. Semakin besar ukuran citra yang dapat diperagakan maka akan semakin
bagus alat peraga citra tersebut. Contoh alat peraga yang akan digunakan adalah
tabung sinar katoda (cathoda ray tube).
Printer sebagai peralatan peragaan untuk mencetak citra terutama berguna untuk tugas pengolahan citra resolusi rendah. Satu pendekatan sederhana untuk
membangkitkan bentuk keabuan citra langsung pada kertas adalah dengan
menggunakan kemampuan dari printer. Tingkat keabuan pada tiap-tiap hasil cetakan dapat dikontrol dengan nomor dan kepadatan dari tiap karakter pada saat pencetakan
[5].
2.4 Peningkatan Mutu Citra
Enhancement citra merupakan segala proses awal yang bertujuan untuk meningkatkan mutu citra baik untuk keperluan menghilangkan gangguan, keperluan interpretasi,
maupun untuk keperluan keindahan, untuk kepentingan analisis citra pada proses ini
1. Filter untuk memperbaiki citra. 2. Filter untuk menyunting citra. 3. Filter pergeseran posisi.
2.4.1 Filter Untuk Memperbaiki Citra
Filter untuk memperbaiki citra seperti memperjelas citra yang terlalu terang atau terlalu gelap dan membersihkan citra yang penuh gangguan (noise). Setiap gambar dapat diperbaiki dengan menganalisis dan melihat image histogramnya, dimana image histogramnya adalah grafik yang menunjukkan frekuensi (jumlah yang digunakan)
suatu nomor warna. Sumbu horizontal dari grafik menunjukkan nomor warna yang
dipakai mulai dari 0 hingga 255, dan sumbu vertikal menunjukkan jumlah titik yang
mempergunakan warna yang bersangkutan.
Terlihat bahwa nomor warna yang lebih kecil dari 70 (nomor warna 0-69)
cenderung sering digunakan dibandingkan dengan nomor warna yang lebih besar dari
70 yaitu 71-225. Inilah yang mengakibatkan gambar sangat gelap. Cara untuk
memperjelas gambar tersebut yaitu dengan penambahan intensitas atau dengan
histogram equalization. Teknik ini adalah teknik memperterang suatu intensitas warna dengan memperhitungkan berapa titik yang mempergunakan warna tersebut. Semakin
banyak titik yang menggunakan suatu intensitas warna, semakin jelas terlihat titik
tersebut, karena perbedaan intensitas warna dengan titik lain disekitarnya cenderung
jelas.
Pada Gambar 2.3 diperlihatkan suatu image histogram dari citra yang gelap. Frekuensi
Warna di range ini terlihat tidak pernah dipakai karena pita intensitasnya = 0
Gambar 2.3 Image Histogram dari suatu gambar yang gelap
Filter untuk memperbaiki citra juga dapat digunakan untuk membersihkan
gambar yang terganggu (terdapat noise). Noise ini berarti gangguan–gangguan dimana terjadi sewaktu gambar dikirim dari komputer ke komputer lain ataupun saat satelit
mengirimkan foto permukaan bumi ke stasiun bumi. Dengan adanya pengolahan citra
maka bintik-bintik noise tersebut dapat hilang.
2.4.2 Filter Untuk Menyunting Citra
Filter penyunting citra banyak dipakai pada pengeditan photo, seperti misalnya menghaluskan gambar, memperbesar/memperkecil citra. Ada beberapa penyunting
citra antara lain adalah:
a. Transparansi filtering b. Negatif Filtering c. Mean Filtering d. Median Filtering
e. Mozaik Filtering dan Modus Filtering
a. Transparansi Filtering
Jenis filter ini digunakan pada pembuatan film-film maupun dalam dunia pertelevisian. Dimana sebuah gambar muncul diatas gambar yang lain. Cara
pembuatan efek ini ialah dengan menambahkan titik pada koordinat yang sama pada
gambar yang pertama dengan titik pada koordinat kedua kemudian hasilnya diambil
rata-rata. Dengan ini diperoleh dua gambar yang terlihat transparan. Pada filtering akan ditimbulkan efek gambar pertama seakan-akan menghilang dan sebelum
benar-benar hilang timbul gambar yang kedua yang semakin lama semakin terang seiring
dengan hilangnya gambar pertama.
Filter ini merupakan kebalikan dari proses pencucian film. Dimana dari film negatif dibuat menjadi film berwarna. Disini dilakukan proses sebaliknya yaitu dari gambar
berwarna menjadi gambar negatif. Proses pembuatannya adalah untuk gambar yang
berwarna harus dibuat dahulu menjadi gambar hitam-putih agar dapat diperoleh
negatifnya. Negatif ini didapat dari hasil perhitungan intensitas warna terhadap warna
titik (255 – warna titik). Perhitungan ini dilakukan untuk seluruh titik pada layar dan
hasil perhitungan inilah warna negatif dari titik tersebut. Jika ditinjau dari image histogramnya maka hasil dari negatif filtering ini adalah pencerminan horizontal, dimana intensitas warna yang berada disebelah kiri pada imagehistogram gambar asli akan berpindah pada bagian kanan dari image histogram yang merupakan hasil negatif filter.
c. Mean Filtering (Memperhalus gambar)
Mean filtering ini adalah filter yang digunakan untuk menghaluskan gambar yang terlalu kasar. Jika filter ini dilakukan pada gambar yang sudah halus, maka hasilnya gambar tersebut akan semakin kabur. Mean filtering ini biasa disebut “smoothing filter atau blur effect”. Mean filtering ini termasuk jenis spatial filtering yang artinya untuk memproses sebuah titik, juga mengikut sertakan titik-titik sekitar dalam kalkulasi.
Sebenarnya hal ini telah dilakukan pada bagian pembersihan gambar dimana
digunakan titik-titik sekitar noise untuk memperkirakan titik yang akan digunakan untuk mengganti noise tersebut.
d. Median Filtering
Kegunaan filter ini adalah memperhalus gambar tetapi tidak sehalus mem-filtering. Gambar yang dihasilkan terlihat tidak rapi, karena tidak dilakukan proses rata-rata
tetapi dilakukan proses mencari nilai tengah dari titik yang direkam dalam matriks.
Nilai tengah dari beberapa nilai dapat dicari sebagai berikut: misalkan ada sejumlah
nilai sebagai berikut : 9, 5, 8, 3, 5, 2, 1, 4, 2 dan untuk mencari nilai tengah, harus
mengurutkan nilai-nilai tersebut menjadi 1, 2, 2, 3, 4, 5, 5, 8, 9. Karena ada sembilan
angka maka nilai tengah ialah angka yang berada pada urutan tengah yaitu 9/2 = 5,
e. Mozaik Filtering (Efek Berkotak-kotak)
Filter ini merupakan spatial filtering yang tidak menggunakan mask. Filter ini sangat sering digunakan dalam acara televisi terutama untuk menutupi wajah orang-orang
yang tidak mau wajahnya terlihat dalam televisi misalnya wajah kriminal. Sebenarnya
teknik mozaik filtering ini hampir sama dengan teknik mean filtering, hanya saja tidak semua titik yang diproses melainkan titik setiap kelipatan N (dimana N adalah ukuran
spatial yang digunakan). Kemudian warna hasilnya tidak dicetakkan sebagai balok
sebesar NxN sehingga efek kotak-kotak muncul pada gambar setelah di-filter. Semakin besar spatial yang digunakan, semakin besar kotak-kotak yang dihasilkan.
f. Modus Filtering (Efek Cat Minyak)
Modus filtering adalah termasuk jenis spatialfiltering yang tidak menggunakan mask. Setelah dilakukan proses perekaman titik-titik sekitar dan titik yang sedang diperiksa
kedalam matriks, dicari warna apa yang paling banyak dipakai dalam tabel warna
tersebut. Warna inilah yang akan digunakan sebagai warna titik yang akan diletakkan
pada layar output. Tujuan utama dari filter ini adalah membuat gambar ini menjadi berbintik-bintik seperti dicat dengan cat minyak.
2.4.3 Filter Pergeseran Posisi (Position Shifting Filtering)
Salah satu proses peningkatan mutu citra yang orientasi prosesnya per citra adalah
proses koneksi geometri citra. Jenis penggunaan yang bersifat geometris yang sering
terjadi waktu proses rekaman citra yang dapat berbentuk pergeseran pusat citra dan
perubahan orientasi koordinat citra yang sering disebut sebagai skewed. Koneksi geometris yang sederhana dan sering digunakan untuk mengatasi gangguan-gangguan
tersebut diatas adalah proses rotasi citra dan translasi citra yang semuanya termasuk
2.5Aritmetika Module
Aritmetika module (modular arithmetic) memainkan peranan yang penting dalam komputasi integer. Operator yang digunakan pada aritmetika module adalah mod.
Operator mod memberikan sisa pembagian.
Misalnya: 23 dibagi 5 memberikan hasil = 4 dan sisa = 3, sehingga ditulis 23
mod 5 = 3 [7].
2.6 Citra Grayscale
Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada
warna hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas
terkuat. Citra grayscale berbeda dengan citra ”hitam-putih”, dimana pada konteks komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu ”hitam” dan ”putih”
saja. Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik single band.
Citra grayscale disimpan dalam format 8 bit untuk setiap sample pixel, yang memungkinkan sebanyak 256 intensitas. Format ini sangat membantu dalam
pemrograman karena manipulasi bit yang tidak terlalu banyak. Untuk mengubah citra
berwarna yang mempunyai nilai matrik masing-masing R, G dan B menjadi citra
grayscale dengan nilai X, maka konversi dapat dilakukan dengan mengambil rata-rata
dari nilai R, G dan B [6].
Citra biner adalah citra dimana piksel-pikselnya hanya memiliki dua buah nilai
intensitas yaitu bernilai 0 dan 1 dimana 0 menyatakan warna latar belakang
(background) dan 1 menyatakan warna tinta/objek (foreground) atau dalam bentuk angka 0 untuk warna hitam dan angka 255 untuk warna putih. Citra biner diperoleh
dari nilai citra threshold sebelumnya [8].
Gradasi Citra biner dapat dilihat pada Gambar 2.4.
1
0
Gambar 2.4 Gradasi Citra Biner
Contoh sebuah citra biner seperti pada Gambar 2.5
Gambar 2.5 Citra Biner
2.8 Citra Threshold
Citra threshold dilakukan dengan mempertegas citra dengan cara mengubah citra hasil yang memiliki derajat keabuan 255 (8 bit), menjadi hanya dua buah yaitu hitam dan
putih. Hal yang perlu diperhatikan pada proses threshold adalah memilih sebuah nilai threshold (T)dimana piksel yang bernilai dibawah nilai threshold akan diset menjadi hitam dan piksel yang bernilai diatas nilai threshold akan diset menjadi putih. Umumnya nilai T dihitung dengan menggunakan persamaan:
Dimana fmaks adalah nilai intensitas maksimum pada citra dan fmin adalah nilai intensitas minimum pada citra. Jika f(x,y) adalah nilai intensitas pixel pada posisi (x,y) maka pixel tersebut diganti putih atau hitam tergantung kondisi berikut.
f(x,y) = 255, jika f(x,y) ≥ T f(x,y) = 0, jika f(x,y) < T
Sebagai contoh misalnya diketahui citra grayscale 4x4 pixel dengan kedalaman 8 bit seperti Gambar 2.6.
200 230 150 75 240 50 170 92 210 100 120 80 100 90 200 230 Sumber: Sutoyo, 2009
Gambar 2.6 Citra Grayscale 4x4 Pixel Dengan motede ini, nilai threshold T adalah:
T= = = 145
Bila nilai T = 145 diterapkan untuk citra pada Gambar 2.8 di atas maka diperoleh citra
seperti pada Gambar 2.7.
255 255 255 0
255 0 255 0
255 0 0 0
0 0 255 255
Sumber: Sutoyo, 2009
Gambar 2.7 Citra Hasil Threshold
2.9 Image Thinning
mereduksi informasi tertentu dalam gambar tersebut. Thinning ini biasa digunakan mencari bentuk dasar/rangka/skeleton dari suatu gambar. Contohnya pada PCB
(printed circuit boards) untuk mengetahui aliran/arus data pada PCB tersebut. Selain untuk kompresi suatu gambar, kegunaan lain dari thinning adalah untuk mencari informasi tertentu dari suatu gambar dengan menghilangkan informasi yang tidak
diperlukan. Misalnya saja untuk mencari dataran tinggi dalam peta geografis.
Algoritma thinning binary regions memberikan aspek sebagai berikut : (1) thinning tidak menghapus point terakhir, (2) thinning tidak merusak konektivitas, dan (3) thinning tidak menyebabkan pengikisan berlebihan dari region. Diasumsikan region points memiliki nilai 1 dan background points memiliki nilai 0. Metode ini terdiri dari 2 langkah dasar yang dikenakan terhadap contour points dari suatu region, dimana contour points adalah sembarang piksel dengan nilai 1 dan memiliki paling sedikit satu dari 8-tetangga bernilai 0. Algoritma ini menggunakan tanda untuk
memilih piksel mana yang akan dihapus. Aturannya, 8-tetangga terdekat dari setiap
piksel P1 dinomori P2 (untuk piksel di atas P1) sampai dengan P9 sesuai dengan arah
jarum jam.
P9 P2 P3
P8 P1 P4
P7 P6 P5
Gambar 2.8 Piksel 8 Tetangga
Langkah 1 Beri tanda sebuah contour point p1 untuk dihapus apabila memenuhi
semua kondisi-kondisi berikut ini :
(a) 2 N(P1) 6;
(b) S(P1) = 1;
(c) P2 . P4. P6 = 0;
(d) P4.P6 . P8 = 0;
di mana N(P1) adalah jumlah dari tetangga-tetangga dari p1 yang bukan
nol; sehingga:
dan S(P1) adalah jumlah dari transisi 0 ke 1 dalam urutan P2, P3, P4, P5,
P6, P7, P8, P9.
P9 P2 P3
P8 P1 P4
P7 P6 P5
Langkah 2 Hampir sama dengan langkah 1, hanya saja pada langkah 2 ini bagian
(c) dan (d) berubah menjadi sebagai berikut :
(c) P2 . P4 . P8 = 0;
(d) P2 . P6. P8 = 0;
Langkah 1 diterapkan untuk border pixel pada binary region. Jika satu atau lebih dari kondisi (a) sampai dengan (d) tidak dipenuhi, maka nilai dari point yang diperiksa tidak berubah (tidak perlu diberi tanda). Points yang diperiksa tidak akan dihapus sampai semua border points selesai diproses. Hal ini dilakukan untuk mencegah agar tidak terjadi perubahan pada struktur data saat pengeksekusian algoritma. Setelah
langkah 1 telah selesai dilakukan terhadap semua border points , semua yang telah diberi tanda dihapus (diubah ke 0). Lalu, langkah 2 baru dijalankan terhadap hasil data
persis sama seperti pada langkah 1.
Jadi, satu iterasi dalam algoritma thinning ini terdiri dari :
1. Pengerjaan langkah 1 untuk memberi tanda pada border points untuk dihapus. 2. Penghapusan points yang telah diberi tanda.
3. Pengerjaan langkah 2 untuk memberi tanda border points yang tersisa untuk dihapus.
4. Penghapusan points yang telah diberi tanda.
Jadi misalnya terdapat suatu gambar yang cukup tebal, jika kita lakukan proses
thinning pada gambar tersebut, maka gambar yang tersisa hanyalah kerangka utama dari gambar tersebut. Contohnya dapat dilihat dalam gambar akar berikut, (a) gambar
akar yang terlihat cukup tebal, sedangkan dalam (b) setelah dilakukan proses thinning, maka gambar akar yang terlihat hanya tinggal pola atau kerangka utamanya saja.
Gambar asli Gambar hasil
Gambar 2.9 Citra Akar
Pada bidang industri sering digunakan proses thinning untuk mencari kerangka utama dari sirkuit, seperti Gambar 2.10 di bawah ini:
Gambar sebuah sirkuit Gambar hasil thinning Gambar 2.10 Citra Sirkuit Elektronika
Gambar 2.11 Citra Karakter
2.9.1 Algoritma Thinning
Thinning merupakan salah satu teknik dalam image processing yang digunakan untuk mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.
Terdapat cukup banyak algoritma untuk image thinning dengan tingkat kompleksitas, efisiensi dan akurasi yang berbeda-beda. Citra yang digunakan untuk
proses thinning adalah citra biner, jika data masukannya berupa citra RGB maka citra tersebut diubah menjadi citra grayscale karena citra grayscale merupakan syarat guna menghasilkan suatu citra biner. Namun untuk mengubah citra grayscale menjadi citra biner dilakukan proses thresholding dahulu. Sehingga diperoleh citra threshold, jika citra threshold sudah diperoleh maka citra biner dapat dicari. Citra biner ini yang kemudian akan diproses dalam proses thinning. Citra hasil dari algoritma thinning biasanya disebut dengan skeleton (kerangka).
Ada beberapa komponen penting yang perlu diketahui dan dipahami dalam
melakukan proses thinning, seperti struktur elemen (kernel) dan tranformasi hit -dan-miss (hit-and-misstransformation), yaitu :
1. Struktur elemen
Struktur elemen atau biasa disebut sebagai kernel, berisi pola yang
mengkhususkan koordinat dari beberapa titik yang memiliki relatifitas yang sama
Gambar 2.12 Contoh Ukuran dari Beberapa Struktur Elemen
Origin tidak perlu harus di tengah, namun biasanya di tengah. Struktur elemen dengan ukuran 3 x 3 adalah yang paling banyak digunakan. Setiap titik bisa
memiliki nilai. Umumnya untuk mengoperasikan suatu binary image seperti erosion, keseluruhan element hanya memiliki sebuah nilai, yaitu 1 (satu). Pada thinning atau grayscale morphological operations dapat memiliki nilai yang lain. Pada kotak-kotak yang kosong, yang artinya tidak memiliki nilai, biasanya direpresentasikan
dengan menggunakan 0 (nol).
Ketika morphological operation dilakukan, origin dari structuring elements diposisikan pada setiap pixel pada citra input, lalu nilai dari structuring elements yang bersesuaian dibandingkan dengan nilai dari pixel citra. Detil dari perbandingan ini dan efeknya tergantung dari jenis operator, pada hal ini adalah structuring elements yang digunakan.
2. Transformasi hit -dan-miss
dengan angka 1 dan pixel background dinyatakan dengan angka 0. Contohnya dapat dilihat pada struktur elemen yang ditunjukkan pada Gambar 2.13.
Gambar 2.13 Contoh Struktur Elemen
Struktur elemen di atas dapat digunakan untuk menemukan posisi sudut kanan (right angle convex corner) dari suatu citra. Untuk dapat menemukan semua sudut dalam citra biner, harus dilakukan transformasi hit-dan-miss sebanyak empat kali dengan empat elemen berbeda yang merepresentasikan empat jenis sudut yang ditemukan
dalam citra biner tersebut. Empat bentuk elemen tersebut dapat dilihat pada Gambar
2.14.
Gambar 2.14 Contoh Empat Bentuk Elemen Untuk Transformasi Hit-dan-miss
Setelah menemukan lokasi dari setiap orientasi sudut, kita kemudian
melakukan operasi OR dari semua citra untuk mendapat hasil akhir yang
menunjukkan lokasi dari semua sudut kanan pada orientasi apapun. Citra pada
Gambar 2.15 Proses Hit-dan-Miss yang Dilakukan pada suatu Citra Biner
2.9.2 Metode Zhang Suen
Algoritma ini adalah salah satu algoritma thinning yang cukup populer dan telah digunakan sebagai suatu basis perbandingan untuk thinning. Algoritma ini cepat dan mudah diimplementasikan. Setiap iterasi dari metode ini terdiri dari dua sub-iterasi
yang berurutan dan dilakukan terhadap contour points dari wilayah citra. Contour point adalah setiap piksel dengan nilai 1 dan memiliki setidaknya 8-neighbour yang memiliki nilai 0.
Dengan informasi ini, dilakukan pembagian pixel dalam ukuran 3 X 3, di mana pixel yang berada di posisi tengah merupakan pixel yang akan diuji. Gambar 2.16 diberikan contoh citra ukuran 3 x 3 pixel dengan 8 tetangga.
P9 P2 P3
P8 P1 P4
P7 P6 P5
Gambar 2.16 Contoh Pixel P1 dengan 8 Tetangga
Proses thinning dari Gambar 2.16 di atas dengan menggunakan metode Zhang Suen ini adalah sebagai berikut:
3. Untuk setiap pixel yang bukan merupakan pixel ujilakukan : a. Hitung nilai nearest neighbour pixel dengan pixel uji.
b. Jika nilai nearest neighbour berada pada rentang nilai 2 ≤ N ≤ 6, tandai pixel sebagai contour point. Jika tidak, beri penanda 0 pada pixel.
c. Beri penanda 0 pada pixel uji.
4. Untuk setiap pixel dalam ukuran dimensi 3 X 3, hapus seluruh pixel yang bertanda 0. Penghapusan pixel ini biasanya dilakukan dengan menggunakan warna putih. 5. Untuk setiap pixel yang tergolong ke dalam kategori contour point, ubah warna
pixel menjadi warna hitam (dapat digunakan warna lain sesuai dengan keinginan).
Proses penelusuran yang pertama dilakukan adalah menandai semua titik objek
untuk dihapus jika titik obejek tersebut memenuhi syarat-syarat sebagai berikut:
1. Jumlah pixel tetangga yang bernilai 1, ≥ 2 dan ≤ 6 atau (2≤N(P1) ≤ 6)
2. Jumlah perpindahan nilai pixel dari 0 ke 1 = 1 (S(P1) ), dimulai dari pixel P2 sampai P9.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Citra yang digunakan untuk proses thinning adalah citra biner, jika data masukannya berupa citra warna (RGB) maka citra tersebut harus dimanipulasi menjadi citra grayscale, yang merupakan syarat guna menghasilkan suatu citra biner. Untuk mengubah citra grayscale menjadi citra biner, maka dilakukan proses thresholding dahulu. Setelah diperoleh citra threshold, maka citra biner dapat dihitung berdasarkan nilai ambang yang ditetapkan.
Proses thinning dengan menggunakan metode zhang-suen adalah sebagai berikut:
1. Membaca jumlah pixel di dalam gambar.
2. Melakukan iterasi untuk mengambil nilai pixel gambar.
3. Melakukan iterasi untuk mengambil nilai pixel yang termasuk ke dalam kategori contour point.
4. Melakukan iterasi untuk menghapus seluruh pixel yang termasuk ke dalam kategori contour point.
5. Menampilkan hasil pengenalan pola dalam bentuk sebuah citra digital yang
3.1.1 Membaca Jumlah Pixel
Pada citra digital 24-bit tidak terdapat palet RGB, karena nilai RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing-masing byte menyatakan komponen R, G, dan B.
<Header> <data bitmap>
10010000 01011010 011110001 011110001 10
Gambar 3.1 Format Citra 24-bit (16 juta warna)
Pada citra bitmap 24-bit, tiap pixel-nya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar (R, G, dan B), dengan kisaran nilai
kandungan antara 0 (00000000) sampai 255 (11111111) untuk tiap warna. Pada
contoh format citra 24-bit di atas data pertama adalah header yang berisi informasi nama file, jenis format dan dimensi citra. Di bawah data bitmap terdapat pixel pertama mempunyai R = 10010000 (biner), G = 01011010 (biner), B = 011110001 (biner).
Bagian terkecil sebuah citra adalah pixel yang memiliki nilai intensitas hasil kuantisasi peralatan digital. Citra warna memiliki tiga komponen warna yang setiap
komponen warna menggunakan penyimpanan 8 bit atau 1 byte. Berarti jumlah bit dalam 1 pixel adalah sebanyak 3 x 8 bit = 24 bit. Jadi untuk menghitung jumlah pixel sebuah citra dilakukan dengan membagi nilai intensitas citra dengan 24 bit.
Representasi nilai pixel pada citra warna dapat dilihat pada Gambar 3.2.
Nilai intensitas citra disimpan dalam data bitmap dalam bentuk nilai biner dengan nilai antara 0 dan 1. Jadi jumlah pixel-nya adalah jumlah kelipatan 24 bit. Misalnya citra bunga dengan nilai intensitas di atas adalah adalah:
111100001111000011111110001100001111000011111111111100001111000011111
000111100001111000011111001111100001111000011111010101100001111000011
111111111100001111000011111111111100001111000011010111111110000111100
001100000111110000111100001111011000111100001111000011111111111100001
111000011111000011100001111000011110101011110000111100001111000110111
111000011110000111111111111000011110000111010111111110000111100001111
1111 dan seterusnya.
Nilai 111100001111000011111111 = 24 bit mewakili 1 pixel dari citra.
Jika jumlah bit citra di atas adalah 1800000 bit, maka jumlah pixel-nya adalah 1800000/24 bit = 75.000 pixel.
3.1.2 Menghitung Nilai RGB Citra
Pada metode Zhang Suen citra yang diuji terdiri dari 9 pixel (3x3), maka citra pada Gambar 3.2 di atas dilakukan pembagian pixel dalam ukuran 3 x 3, di mana pixel yang berada di posisi tengah merupakan pixel yang akan diuji. Maka penghitungan nilai komponen warna RGB-nya dilakukan dalam 9 pixel seperti pada Gambar 3.3.
1 2 3
4 5 6
7 8 9
Gambar 3.3 Citra Bunga 9 pixel
Misalnya nilai pixel 1 dalam biner 24 bit adalah: Pixel 1 = 111100001111000011111111
Pixel 2 = 100000011110000111110000
Pixel 3 = 111100001111000011111111
Pixel 5 = 111100001111000011111111
Pixel 6 = 100000011110000111110000
Pixel 7 = 000100001111000011111111
Pixel 8 = 100000011110000111110111
Pixel 9 = 101110111111000011111100
Untuk mendapatkan masing-masing nilai R, G dan B dilakukan operasi modulo
(sisa bagi) dengan rumus sebagai berikut:
Nilai R = c Mod 256 ……….. (3.1)
Nilai G = (c and 65280) / 256 ……….. (3.2)
Nilai B = (c and 16711680) / 65280 ……….. (3.3)
Dimana c adalah nilai pixel citra
a. Nilai pixel 1 adalah 111100001111000011111111 (24 bit).
Nilai R dihitung dengan persamaan (3.1) yaitu nilai pixel modulo bilangan 256 (100000000) sebagai berikut:
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11111111 dalam biner = 255 dalam desimal
Nilai komponen G dihitung dengan persamaan (3.2):
Nilai G = (111100001111000011111111 and 1111111100000000)/ 100000000 = 11110000 = 240
Nilai komponen B dihitung dengan persamaan (3.3):
Nilai B = (111100001111000011111111 and 111111110000000000000000)/ 10000000000000000
= 11110000 = 240
Sehingga diperoleh nilai pixel 11111111 11110000 11110000: R = 11111111 = 255, G = 11110000 = 240, B = 11110000 = 240
b. Nilai pixel 2 adalah 100000011110000111110000 (24 bit). Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110000 mod 100000000
Nilai G = (100000011110000111110000 and 1111111100000000)/ 100000000
= 10000001 = 129
Nilai B= (100000011110000111110000 and
111111110000000000000000) / 10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11110000: R = 11100001 = 225, G = 10000001 = 129, B = 00000001 = 1
c. Nilai pixel 3 adalah 111100001111000011111111 (24 bit). Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11110000 dalam biner = 240 dalam desimal
Nilai G = (111100001111000011111111 and 1111111100000000)/ 100000000
= 11110000 = 240
Nilai B= (111100001111000011111111 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11110000: R = 11100001 = 240, G = 11110000 = 240, B = 00000001 = 1
d. Nilai pixel 4 adalah 101110011110000111110000 (24 bit). Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 101110011110000111110000 mod 100000000
= 11100001 dalam biner = 225 dalam desimal
Nilai G = (101110011110000111110000 and 1111111100000000)/ 100000000
= 10111001 = 185
Nilai B= (101110011110000111110000 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
e. Nilai pixel 5 adalah 111100001111000011111111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11110000 dalam biner = 240 dalam desimal
Nilai G = (111100001111000011111111 and 1111111100000000)/ 100000000
= 11110000 = 240
Nilai B= (111100001111000011111111 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11111111: R = 11110000 = 240, G = 11110000 = 240, B = 00000001 = 1
f. Nilai pixel 6 adalah 100000011110000111110000
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110000 mod 100000000
= 11100001 dalam biner = 225 dalam desimal
Nilai G = (100000011110000111110000 and 1111111100000000)/ 100000000
= 10000001= 129
Nilai B= (100000011110000111110000 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11111111: R = 11100001 = 225, G = 10000001 = 129, B = 00000001 = 1
g. Nilai pixel 7 adalah 000100001111000011111111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 000100001111000011111111 mod 100000000
= 10000111 dalam biner = 135 dalam desimal
Nilai G = (000100001111000011111111 and 1111111100000000)/ 100000000
= 10000111= 135
Nilai B= (000100001111000011111111 and 111111110000000000000000) /
10000000000000000
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 10000111 = 135, G = 10000111 = 135, B = 00000001 = 1
h. Nilai pixel 8 adalah 100000011110000111110111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110111 mod 100000000
= 11100001 dalam biner = 225 dalam desimal
Nilai G = (100000011110000111110111 and 1111111100000000)/ 100000000
= 10000001 = 129
Nilai B= (100000011110000111110111 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 11100001 = 225, G = 10000001= 129, B = 00000001 = 1
i. Nilai pixel 9 adalah 101110111111000011111100
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 101110111111000011111100 mod 100000000
= 11110000 dalam biner = 225 dalam desimal
Nilai G = (101110111111000011111100 and 1111111100000000)/ 100000000
= 10111011 = 187
Nilai B= (101110111111000011111100 and 111111110000000000000000) /
10000000000000000
= 00000001 = 1
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 11110000 = 225, G = 10111011 = 187, B = 00000001 = 1
255,240,240 225,129,1 240,240,1
225,185,1 240,240,1 225,129,1
135,135,1 225,129,1 225,187,1
Gambar 3.4 Matriks Nilai RGB Citra Bunga 9 Pixel
Selanjutnya nilai RGB per Pixel pada Gambar 3.4 di atas di konversi ke nilai grayscale dengan cara mencari nilai rata-rata per pixel.
f0 (x,y) = ………..………
(3.4)
di mana: adalah nilai komponen red fG adalah nilai komponen green fB adalah nilai komponen blue
Nilai grayscale dihitung dengan menggunakan persamaan (3.4) sebagai berikut: Piksel 1 = (255,240,240) = (255+240+240)/3 = 245
Piksel 2 = (225,129,1) = (225+129+1)/3 = 118.3
Piksel 3 = (240,240,1) = (240+240+1)/3 = 160.3
Piksel 4 = (225,185,1) = (225+185+1)/3 = 137
Piksel 5 = ((240,240,1) = (240+240+1)/3 = 160.3
Piksel 6 = (225,129,1) = (225+129+1)/3 = 118.3
Piksel 7 = (135,135,1) = (255+240+240)/3 = 90.3
Piksel 8 = (225,129,1) = (225+129+1)/3 = 118.3
Piksel 9 = (255,187,1) = (255+240+240)/3 = 147.6
Selanjutnya nilai grayscale semua pixel pada citra bunga 9 pixel dimasukkan ke dalam matriks nilai grayscale seperti pada Gambar 3.5.
245 118 160
137 160 118
90 118 147
Nilai grayscale matriks citra pada gambar diatas diubah menjadi nilai threshold dengan nilai ambang. Nilai ambang yang digunakan diperoleh dengan rumus:
T= ………
(3.5)
Nilai threshold untuk matriks citra pada Gambar 3.5 di atas dihitung dengan menggunakan persamaan (3.5) sebagai berikut:
T= = 167.5 = 168
Nilai ambang 168 dapat digunakan jika persentase nilai pixel > 168 adalah > 50 %, jika persentase nilai pixel > 168 adalah < 50 %, maka digunakan rumus:
T= = 255/2 = 127.5 = 128 ………
(3.6)
Dari Gambar 3.4 di atas dapat diperoleh persentase nilai pixel diatas 168 adalah: 1/9 x 100 % = 11 %, maka digunakan nilai ambang pada persamaan (3.6).
Pixel 1 = 245, P1 > 128 maka P1= 1. Pixel 2 = 118, P2 < 128 maka P2= 0. Pixel 3 = 160, P3 > 128 maka P3= 1. Pixel 4 = 137, P4 > 128 maka P4= 1. Pixel 5 = 160, P5 > 128 maka P5= 1. Pixel 6 = 118, P6 < 128 maka P6= 0. Pixel 7 = 90, P7 < 128 maka P7= 0. Pixel 8 = 118, P8 < 128 maka P8= 0. Pixel 9 = 147, P9 > 128 maka P9= 1.
Selanjutnya nilai threshold semua pixel pada citra bunga 9 pixel dimasukkan ke dalam matriks citra biner seperti pada Gambar 3.6.
1 0 1
1 1 0
Gambar 3.6 Matriks Citra Biner 9 Pixel
3.1.3 Algoritma Zhang Suen
Dalam metode zhang-suen, pengenalan pola dilakukan dengan cara mengeliminasi setiap pixel citra biner yang termasuk ke dalam kategori contour point. Contour point adalah penghapusan pixel dimana jika nilai biner pixel-nya adalah 1 (pixel foreground), maka akan diubah menjadi 0 (pixel background). Adapun syarat penghapusan adalah:
5. Jumlah pixel tetangga yang bernilai 1, ≥ 2 dan ≤ 6 atau (2≤N(P1) ≤ 6) 6. Jumlah perpindahan nilai pixel dari 0 ke 1 = 1
7. Perkalian Pixel2Pixel4Pixel6 = 0 ( P2*P4*P6=0) 8. Perkalian Pixel4 Pixel6 Pixel8 = 0 ( P4*P6*P8=0)
Dari matriks citra biner seperti pada Gambar 3.6 dilakukan penelusuran dengan
memberi label penanda dimana P5 adalah pixel yang diuji adalah seperti pada Gambar 3.7.
1 0 1 P1 P2 P3
1 1 0 P4 P5 P6
0 0 1 P7 P8 P9
Gambar 3.7 Matriks Citra Awal 9 Pixel
Melakukan pengujian syarat metode Zhang-Suen adalah sebagai berikut:
1. N (P1) = 4, maka 2 ≤N(P1) ≤6 = true 2. S (P1) = 3, maka S(P1) = 1 = false 3. P2*P4*P6=0 = 0*1*1 = 0 = true 4. P4*P6*P8= 1*0*0 = 0 = true
Berikut sebagai contoh diberikan piksel citra 3 x 3 dari blok citra selanjutnya
dari Gambar 3.1 yang akan diuji adalah seperti pada Gambar 3.8:
0 0 1
0 1 1
0 0 0
Gambar 3.8 Matriks Citra
1. N (P1) = 2, maka 2 ≤N(P1) ≤6 = true 2. S (P1) = 1, maka S(P1) = 1 = true 3. P2*P4*P6=0 = 0*1*1 = 0 = true 4. P4*P6*P8= 1*0*0 = 0 = true
Dari hasil penelusuran, dapat dilihat 4 hasil pengujian semua bernilai true yang berarti nilai pixel yang diuji akan dihapus dan menghasilkan matrik citra yang baru seperti pada Gambar 3.9.
0 0 1
0 0 1
0 0 0
Gambar 3.9 Matriks Citra Akhir
3.2 Perancangan Sistem
Berdasarkan analisa yang penulis lakukan terhadap metode zhang-suen dalam melakukan thinning pada sebuah citra digital, penulis melakukan perancangan terhadap perangkat lunak yang mana tahapannya terbagi menjadi lima tahapan yaitu:
2. Konversi nilai Pixel ke nilai RGB 3. Konversi Nilai RGB ke Nilai Grayscale 4. Proses Thresholding
5. Proses Thinning
Dalam perancangan perangkat lunak ini, tahap pertama yang penulis lakukan
adalah merancang proses kerja dari perangkat lunak ini. Adapun alat bantu
perancangan proses yang penulis gunakan adalah sebuah bagan alir (flowchart). Proses kerja sistem dimulai dari proses penginputan citra digital yang akan dilakukan
proses thinning.
Sistem akan membaca setiap nilai pixel dari citra untuk menghitung nilai RGB, nilai grayscale serta pembentukan matriks citra biner dari proses threshold. Untuk setiap posisi pixel, sistem akan melakukan pengecekan apakah pixel tersebut termasuk ke dalam kategori contour point atau tidak. Jika pixel termasuk ke dalam kategori contour point, sistem akan melakukan penghapusan terhadap pixel tersebut. Proses penghapusan ini dilakukan dengan cara mengubah nilai pixel menjadi warna putih (255). Setelah seluruh pixel yang termasuk ke dalam kategori contour point dihapus, maka sistem akan menampilkan hasil proses thinning terhadap citra digital.
3.2.1 Flowchart Thinning Image
Input citra digital Start
Baca nilai setiap pixel
Hitung nilai RGB setiap pixel
Hitung nilai Grayscale setiap pixel
Hitung nilai threshold setiap pixel
Buat Matriks Citra Biner 3x3 (n)
Cek kategori contour pointpixel
Yes
Pixel termasuk kategori
Contour point?
Hapus pixel
n=n-1
No
n=0 ?
No
Yes
Tampilkan hasil thinning
Gambar 3.10 Flowchart Proses Thinning
3.2.2 Perancangan Antar Muka Program
Setelah melakukan perancangan terhadap proses kerja dari perangkat lunak ini,
penulis melakukan perancangan terhadap antar muka yang akan digunakan sebagai
media interaksi antara pengguna dan sistem yang dirancang. Perancangan antar muka
perangkat lunak ini terdiri dari:
1. Rancangan Menu Utama
Rancangan Menu utama berfungsi untuk menampilkan judul skripsi serta menu
pendukung perangkat lunak image thinning antara lain Image Thinning, Help serta About. Rancangan Menu Utama dapat dilihat pada Gambar 3.11.
Image Thining Help About Quit
Gambar 3.11 Menu Utama
2. Rancangan Image Thinning
Perangkat Lunak Image Thinning Dengan Metode Zhang-suen
Gambar 3.12 Rancangan Image Thinning
3. Rancangan About
Rancangan About berfungsi untuk menampilkan sekilas informasi mengenai perangkat lunak. Rancangan About seperti pada Gambar 3.13.
Gambar 3.13 Rancangan About
4. Rancangan Help
Rancangan Help berfungsi untuk menampilkan sekilas informasi mengenai perangkat lunak. Rancangan Help seperti pada Gambar 3.14.
Tata Cara Pengoperasian Sistem
X Help
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Setelah melalui tahap perancangan, tahan selanjutnya untuk mengembangkan suatu
perangkat lunak adalah tahapan implementasi. Setelah melakukan implementasi
terhadap rancangan yang diperoleh sebelumnya ke dalam bahasa pemrograman,
penulis memperoleh hasil berupa sebuah perangkat lunak image thinning dengan metode Zhang Suen.
Hasil dari implementasi perangkat lunak Image Thinning terdiri dari tampilan menu Utama, Image Thinning, Help dan About adalah sebagai berikut:
4.1.1 Tampilan Menu Utama
Tampilan Menu Utama merupakan tampilan yang pertama kali pada saat sistem
dijalankan. Tampilan ini berfungsi sebagai tempat menu-menu yang mendukung
perangkat lunak Image Thinning dengan metode Zhang-Suen. Tampilan menu Utama
Gambar 4.1 Tampilan Form Utama
4.1.2 Tampilan Image Thinning
Tampilan Image Thinning adalah program yang melakukan thinning (perampingan) terhadap citra digital. Pada tampilan ini terdapat dua kotak gambar yang berfungsi
Gambar 4.2 Image Thinning
Keterangan Gambar:
Dibawah tampilan kotak gambar terdapat tombol-tombol untuk melakukan proses
thinning sebuah citra antara lain:
a. Tombol Open File berfungsi untuk membaca file citra digital
b. Tombol Process berfungsi untuk melakukan thinning citra.
c. Tombol Clear berfungsi untuk membersihkan tampilan pada kotak gambar
d. Tombol Save berfungsi menyimpan hasil thinning citra
e. Tombol Exit untuk menutup tampilan thinning
Untuk membuka file citra pilih tombol Open File dan akan muncul kotak dialog
(dialog box) seperti pada Gambar 4.3.
Gambar 4.3 Kotak Dialog Open File
Selanjutnya pilih salah satu file citra pada kotak dialog untuk menampilkannya pada
Gambar 4.4 Tampilan File Citra
Keterangan:
Setelah file citra dibuka dan ditampilkan pada kotak citra, maka akan tampil
properties dari file citra antara lain: Nama file : Nama file citra
Path : Alamat file citra
Ukuran file : Ukuran (size)
Gambar 4.5 Tampilan Hasil Thinning File Citra
Setelah proses thinning, maka untuk menyimpan hasilnya dalam bentuk file pilih
tombol Save seperti pada Gambar 4.6.
Gambar 4.6 Kotak Dialog Save File
Pada kotak dialog Save file, isikan nama file yang baru dan pilih tombol Save untuk
Gambar 4.7 Tampilan Hasil Penyimpanan
Keterangan:
Setelah file citra hasil disimpan dan ditampilkan pada kotak citra hasil thinning, maka
akan tampil properties dari file citra hasil penyimpanan antara lain:
Nama file : Nama file citra hasil thinning
Path : Alamat file citra hasil thinning
Ukuran file : Ukuran (size) sesudah thinning
4.1.3 Tampilan About
Tampilan About merupakan tampilan yang berfungsi untuk menampilkan sekilas informasi mengenai perancang perangkat lunak ini. Adapun tampilan About seperti ditunjukkan pada Gambar 4.8.
Gambar 4.8 Tampilan About
4.1.4 Tampilan Help
Gambar 4.9 Tampilan Help
4.2 Pengujian Sistem
Setelah mendapatkan hasil tampilan perangkat lunak, selanjutnya dilakukan pengujian
terhadap sistem tersebut. Adapun pengujian sistem yang penulis lakukan adalah terdiri
dari:
a. Pengujian Proses Thinning
Pengujian proses thinning adalah melakukan proses thinning terhadap file citra digital yang berformat Bmp dan Jpg yang memiliki warna latar belakang (background color) dan tanpa warna latar belakang dan menghitung ukuran file sebelum dan sesudah
proses thinning.
b. Pengujian Tampilan Hasil Proses Thinning
Pengujian Tampilan Hasil Proses Thinning adalah menampilkan hasil proses thinning terhadap file citra digital yang berformat Bmp dan Jpg yang memiliki warna latar