ii ABSTRACT
THE COMPARISON OF EDGE DETECTION IN DIGITAL IMAGE PROCESSING USING FREI CHEN AND SUSAN (SMALLEST UNIVALUE SEGMENT ASSIMILATING NUCLEUS) ALGORITHM
Organized by:
MUHAMMAD ADHITYAWAN 10107447
The eyes are one of the five senses used by human to see, but the human eyes have limitations to capture the electromagnetic signals. Therefore, a computer or image processor was designed to capture entirely most electromagnetic signals. The image processor could analyze the images which could not be captured by human eyes and the images from unfitted or unmatched sources.
One of the image processing techniques which are well known is the edge detection method. Edge detection is commonly applied in digital image processing particularly in the image segmentation step. This method is used for identifying the boundary of an object from its overlapping background. Then the segmentation aims to portray the objects that contained within the image. These recent days, there are several edge detection methods, such as the Sobel, Canny, Prewitt, frei-chen and SUSAN (Smallest Univalue Segment Assimilating Nucleus). In this study two methods were used and compared; they are the frei-chen and SUSAN algorithm.
The results show that both of algorithms did well in detecting edges in an image. Frei-chen algorithm is better than SUSAN algorithm in edge detection of images that contain noises. Objectively, frei-chen algorithm PSNR (Peak Signals Noise Ratio) values are higher than SUSAN algorithm.
i ABSTRAK
PERBANDINGAN DETEKSI TEPI PADA CITRA DIGITAL DENGAN MENGGUNAKAN ALGORITMA FREI CHEN DAN SUSAN (SMALLEST
UNIVALUE SEGMENT ASSIMILATING NUCLEUS) Oleh:
MUHAMMAD ADHITYAWAN 10107447
Mata merupakan salah satu panca indra yang digunakan manusia untuk melihat. Namun mata manusia memiliki keterbatasan dalam menangkap sinyal elektromagnetik. Oleh karena itu, diciptakan mesin pencitraan yang dapat menangkap hampir keseluruhan sinyal elektromagnetik. Mesin pencitraan dapat bekerja dengan citra dari sumber yang tidak dapat ditangkap dengan penglihatan manusia.
Salah satu teknik pengolahan citra yang digunakan adalah deteksi tepi. Deteksi tepi adalah hal yang umum dalam proses pengolahan citra digital karena merupakan salah satu langkah awal dalam melakukan segmentasi citra, yang bertujuan untuk mempresentasikan objek-objek yang terkandung dalam citra tersebut. Deteksi tepi berfungsi untuk mengidentifikasikan garis batas dari suatu objek terhadap latar belakang yang saling tumpang tindih.Saat ini telah ada beberapa metode yang dapat digunakan untuk pendeteksian tepi, contohnya adalah metode sobel, canny, prewitt, frei-chen dan SUSAN. Dalam penelitian ini diambil 2 metode untuk perbandingan yaitu algoritma frei-chen dengan algoritma SUSAN.
Dari hasil penelitian menunjukan bahwa kedua operator berhasil dengan baik dalam mendeteksi tepi pada sebuah citra. Pada saat mendeteksi tepi pada citra yang mengandung noise algoritma frei-chen lebih baik dalam melakukan pendeteksian tepi. Secara objektif dapat dilihat nilai PSNR (Peak Signals Noise Ratio) yang dimiliki algoritma frei-chen cenderung lebih tinggi.
1 1.1 Latar Belakang Masalah
Mata merupakan salah satu panca indra yang digunakan manusia untuk
melihat. Namun mata manusia memiliki keterbatasan dalam menangkap sinyal
elektromagnetik. Oleh karena itu, diciptakanlah komputer atau mesin pencitraan
yang dapat menangkap hampir keseluruhan sinyal elektromagnetik. Mesin
pencitraan dapat bekerja dengan citra dari sumber yang tidak sesuai, tidak cocok,
atau tidak dapat ditangkap dengan penglihatan manusia. Hal inilah yang
menyebabkan pengolahan citra digital memiliki kegunaan yang sangat luas.
Teknologi pengolahan citra dapat masuk ke berbagai bidang seperti kedokteran,
geologi, kelautan, industri, dan lain sebagainya.
Salah satu teknik pengolahan citra yang digunakan adalah deteksi tepi (edge
detection). Deteksi tepi adalah hal yang umum dalam proses pengolahan citra
digital karena merupakan salah satu langkah awal dalam melakukan segmentasi
citra, yang bertujuan untuk mempresentasikan objek-objek yang terkandung
dalam citra tersebut. Deteksi tepi berfungsi untuk mengidentifikasikan garis batas
dari suatu objek terhadap latar belakang yang saling tumpang tindih. Sehingga
apabila garis tepi pada citra dapat diidentifikasikan dengan akurat, semua objek
dapat ditemukan dan sifat dasar seperti area, bentuk, dan ukuran objek dapat
diukur. Tepian citra adalah posisi dimana intensitas pixel dari citra berubah dari
Saat ini telah ada beberapa metode yang dapat digunakan untuk pendeteksian
tepi, contohnya adalah metode sobel, canny, prewitt, frei-chen dan SUSAN. Dalam
penelitian ini diambil 2 metode untuk perbandingan yaitu algoritma frei-chen
dengan algoritma SUSAN.
Frei-Chen merupakan metode deteksi tepi (edge detection) dengan
menggunakan Frei-Chen mask yang mana berisi basis perhitungan vektor untuk
diterapkan pada citra. Frei-Chen [1] menunjukkan pendeteksian tepi yang terbaik
dilakukan oleh detektor tepi yang sederhana, diikuti dengan penipisan dan
menghubungkan proses untuk mengoptimalkan garis tepi.
SUSAN (Smallest Univalue Segment Assimilating) [5] merupakan metode
deteksi tepi (edge detection) dengan membandingkan intensitas pada piksel yang
diproses dengan piksel sekitarnya. Konsep dari setiap titik gambar yang terkait
dengan itu memiliki area lokal kecerahan yang sama adalah dasar bagi prinsip
algoritma SUSAN.
Tugas akhir ini akan memberikan gambaran mengenai penerapan kedua
metode dalam mendeteksi tepi pada sebuah citra, serta mengevaluasi kinerja
masing-masing algoritma.
1.2 Idetifikasi Masalah
Permasalahan yang dapat dirumuskan berkaitan dengan Perbandingan
Deteksi Tepi Pada Citra Digital Dengan Menggunakan Algoritma Frei-Chen dan
SUSAN (Smallest Univalue Segment Assimilating Nucleus) adalah:
1. Bagaimana menerapkan algoritma yang ada untuk melakukan deteksi tepi
2. Bagaimana mengevaluasi kinerja masing-masing algoritma dalam
mendeteksi tepi pada citra digital?
3. Maksud dan Tujuan
Berdasarkan judul yang diambil, maka maksud dari penulisan tugas akhir ini
adalah untuk membandingkan dua algoritma yang ada untuk deteksi tepi pada
citra digital.
Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah mengetahui
kemampuan dari kedua metode deteksi yang dipilih dalam melakukan deteksi tepi
pada sebuah citra digital.
4. Batasan Masalah
Dalam penelitian ini ada beberapa batasan yang perlu diperhatikan, antara
lain:
1. File citra digital yang digunakan mempunyai mode warna RGB.
2. Parameter perbandingan yang digunakan :
a. Berdasarkan penglihatan indera penglihatan.
b. Sensitifitas terhadap noise pada citra digital.
c. Nilai PSNR dari masing-masing algoritma.
3. Pengujian menggunakan white-box dan black-box.
5. Metodologi Penelitian
Dalam pembuatan skripsi ini menggunakan metode penelitian deskriptif yang
menggambarkan fakta-fakta dan informasi secara sistematis, aktual dan akurat.
1. Tahap Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut :
a. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan
bacaan-bacaan yang ada kaitannya dengan judul penelitian.
2. Tahap Pengembangan Perangkat Lunak.
Teknik analisis data dalam pengembangan perangkat lunak menggunakan
paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses
diantaranya:
a. Pengumpulan data
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek,
dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang
diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat
lunak.
b. Analisis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan
proyek pembuatan perangkat lunak.
c. Perancangan
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah
d. Pengkodean
Tahap penerjemahan data atau pemecahan masalah yang telah dirancang
kedalam bahasa pemrograman tertentu.
e. Pengujian
Merupakan tahap pengujian terhadap perangkat lunak yang dibangun.
f. Pemeliharaan
Tahap akhir dimana suatu aplikasi yang sudah selesai dapat mengalami
perubahan-perubahan atau penambahan sesuai dengan permintaan pengguna.
Tahap-tahap pengembangan perangkat lunak metode waterfall dapat dilihat
pada gambar :
Pemeliharaan Pengkodean
Perancangan Analisis
Pengujian Pengumpulan
Data
6. Sistematika Penulisan
Sistematika penulisan penelitian ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini
adalah sebagai berikut :
BAB I PENDAHULUAN
Menguraikan tentang latar belakang masalah, identifikasi masalah yang dihadapi,
menentukan maksud dan tujuan, dan batasan masalah, yang kemudian diikuti
dengan metodologi penelitian, serta sistematika penulisan.
BAB II. LANDASAN TEORI
Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik
penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis
permasalahan. Landasan teori yang dimaksud mencakup penjelasan mengenai
pengertian citra, pengertian citra digital, definisi pengolahan citra, resolusi citra,
jenis-jenis citra, elemen-elemen yang terdapat dalam citra digital.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Menganalisis kebutuhan dan desain dari sistem yang akan dikembangkan. Proses
perancangan menjelaskan kriteria-kriteria rancangan dari sudut pandang
fungsional sistem dan sudut pandang interaksi pengguna seperti antar muka (user
BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM
Merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari
tahap persiapan sampai penarikan kesimpulan dan kaidah yang diterapkan dalam
penelitian. Termasuk menentukan metode pengujian yang akan dipergunakan
dalam pengujian aplikasi yang akan dibangun.
BAB V. KESIMPULAN DAN SARAN
Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penelitian tugas
8 2.1 Pengertian Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu
objek. Citra merupakan salah satu komponen multimedia memegang peranan
yang sangat penting sebagai bentuk informasi visual. Citra mempunyai
karakteristik yang tidak dimilki oleh data teks, yatu citra kaya dengan informasi.
Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus
(continue) dari intensitas cahaya pada bidang dwimatra (dua dimensi). Pada
gambar 2.1 adalah citra seorang gadis model yang bernama Lena, dan gambar di
sebelah kanannya adalah citra kapal di sebuah pelabuhan.
Gambar 2.1 Citra Lena dan citra kapal
Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari
misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya,
sehingga bayangan objek yang disebut citra terekam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:
1. Optik berupa foto.
2. Analog berupa sinyal video seperti gambar pada monitor televisi.
3. Digital yang dapat langsung disimpan pada suatu pita magnetik.[11]
2.2 Pengertian Citra Digital
Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar 2
dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan
citra digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital
merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang
direpresentasikan dengan deretan bit tertentu. Pada umumnya citra digital
berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai
tinggi x lebar.
Citra Digital merupakan suatu fungsi intensitas cahaya f(x,y), dimana harga x
dan y merupakan koordinat spasial dan harga fungsi tersebut pada setiap titik (x,y)
merupakan tingkat kecermerlangan citra pada titik tersebut.
Citra digital yang tingginya N, lebarnya M, dan memiliki L derajat keabuan
(2.1)
Citra digital yang berukuran N x M lazim dinyatakan dengan matriks
berukuran N baris dan M kolom sebagai berikut :
(2.2)
Keterangan:
N = jumlah baris,0<= y<=N-1
M=jumlah kolom,0<=x<=M-1
L=maksimal warna intensitas (derajat keabuan),0<=f(x,y)<=L-1
Masing-masing elemen pada citra digital (berarti elemen matriks) disebut
image element atau piksel. Jadi, citra yang berukuran N x M mempunyai NM
buah piksel.
Proses digitalisasi koordinat (x,y) dikenal sebagai pencuplikan citra (image
sampling), sedangkan proses digitalisasi derajat keabuan f(x,y) disebut kuantisasi
derajat keabuan (gray-level quantization).
Berdasarjan format penyimpanan nilai warnanya, citra terdiri atas empat
1. Citra biner atau monokrom
Pada citra jenis ini, setiap titik atau piksel hanya bernilai 0 atau 1.
Dimana setiap titik membutuhkan media penyimpanan sebesar 1 bit.
2. Citra skala keabuan
Citra skala keabuan mempunyai kemungkinan warna antara hitam
(minimal) dan putih (maksimal). Jumlam maksimum warna sesuai
dengan bit penyimpanan yang digunakan.
3. Citra warna
Setiap titik (piksel) pada citra warna mewakili warna yang merupakan
kombinasi dari tiga warna dasar yaitu merah, hijau dan biru. Setiap
warna dasar mempunyai intensitas sendiri dengan nilai maksimum
255 (8bit).
Setiap titik pada citra warna membutuhkan data 3 byte.
4. Citra warna berindeks
Setiap titik (piksel) pada citra warna berindeks mewakili indeks dari
suatu tabel warna yang tersedia (biasanya disebut palet warna).
Keuntungan pemakaian palet warna adalah kita dapat dengan cepat
memanipulasi warna tanpa harus mengubah informasi pada setiap titik
dalam citra. Keuntugan yang lain, penyimpanan lebih kecil.[11]
2.3 Definisi Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita
miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau
sebagainya. Tentu saja citra semacam ini menjadi lebiih sulit diinterpretasi karena
informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra
menjadi baik kualitasnya maka perlu adanya yang namanya pengolahan citra
digital (image processing).
Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan
komputer, menjadi citra yang kualitasnya lebih baik. Sebagai contoh, citra burung
nuri pada gambar 2.2 (a) tampak agak gelap, lalu dengan proses pengolahan citra
kontrasnya diperbaiki sehingga menjadi lebih terang dan tajam (b).
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila :
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk
meningkatkan kualitas penampakan atau untuk menonjolkan beberapa
aspek informasi yang terkandung dalam citra,
2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
Gambar 2.2 (a) citra burung nuri agak gelap, (b) citra burung yang telah
diperbaiki kontrasnya sehingga terlihat jelas dan tajam
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan
dengan data citra, namun tujuan ketiganya berbeda, yaitu:
1. Grafika komputer (Computer graphics).
2. Pengolahan Citra (Image processing).
3. Pengenalan Pola (Pattern recognition/image interpretation).
Hubungan antara ketiga bidang (grafika komputer, pengolahan citra,
pengenalan pola) ditunjukkan pada gambar 2.3.
Gambar 2.3 Tiga bidang studi yang berkaitan dengan citra
Grafika komputer bertujuan menghasilkan citra dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya. Primitif-primitif geometri
seperti garis, lingkaran, dan sebagainya. Primitif-primitif geometri tersebut
memerlukan data deskriptif untuk melukis elemen-elemen gambar. Contoh data
warna, dan sebagainya. Grafika komputer memainkan peranan penting dalam
visualisasi.
Gambar 2.4 Peranan Grafika Komputer
Contoh grafika komputer misalnya menggambar sebuah ‘rumah’ yang dibentuk
oleh garis-garis lurus, dengan data masukkan berupa koordinat awal dan koordinat
ujung garis (Gambar 2.5).
Gambar 2.5 (a) Program Grafika Komputer untuk menggambar ‘rumah’ (b)
Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik teknik
pengolahan citra menstraformasikan citra menjadi citra lain. Jadi, masukannya
lebih baik daripada citra masukkan. Termasuk ke dalam bidang ini juga adalah
pemampatan citra (image compressin).
Gambar 2.6 Pengolahan Citra
Pengubahan kontras citra seperti pada Gambar 2.5 adalah contoh operasi
pengolahan citra. Contoh operasi pengolahan citra lainnya adalah penghilangan
derau (noise) pada citra Lena (Gambar 2.7). Citra Lena yang di sebelah kiri
mengandung derau berupa bintik-bintik putih (derau). Dengan operasi penapisan
(filtering), derau pada citra masukan ini dapat dikurangi sehingga dihasilkan citra
Lena yang kualitasnya lebih baik.
Gambar 2.7 (a) Citra Lena yang mengandung derau, (b) hasil dari operasi
Pengenalan Pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan
pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa
mengenali objek yang dilihatnya karena otak manusia telah belajar
mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek
dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba
ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan
diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa
deskripsi objek di dalam citra.
Gambar 2.8 Pengenalan Pola
Contoh pengenalan pola misalnya citra pada Gambar 2.9 adalah tulisan tangan yang digunakan sebagai data masukan untuk mengenali karakter ‘ A’.
Dengan menggunakan suatu algoritma pengenalan pola, diharapkan komputer
Gambar 2.9 Citra karakter ‘A’ yang digunakan sebagai masukan untuk
pengenalan huruf.
2.4 Operasi Pengolahan Citra
Operasi -operasi yang dilakukan di dalam pengolahan citra banyak ragamnya.
Namun, secara umum, operasi pengolahan citra dapat diklasifikasikan dalam
beberapa jenis sebagai berikut:
1. Perbaikan kualitas citra (image enhancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara
memanipulasi parameter-parameter citra. Dengan operasi ini, ciri -ciri khusus
yang terdapat di dalam citra lebih ditonjolkan.
Contoh-contoh operasi perbaikan citra:
a. Perbaikan kontras gelap/terang
b. Perbaikan tepian objek (edge enhancement)
c. Penajaman (sharpening)
d. Pemberian warna semu (pseudocoloring)
Gambar 2.10 adalah contoh operasi penajaman. Operasi ini menerima
masukan sebuah citra yang gambarnya hendak dibuat tampak lebih tajam. Bagian
citra yang ditajamkan adalah tepi -tepi objek.
Gambar 2.10 (a) Citra Lena asli, (b) Citra Lena setalah ditajamkan
2. Pemugaran citra (image restoration).
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra.
Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya,
pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra:
a. Penghilangan kesamaran (deblurring)
b. Penghilangan derau (noise)
Gambar 2.11 adalah contoh operasi penghilangan kesamaran. Citra masukan
adalah citra yang tampak kabur (blur). Kekaburan gambar mungkin disebabkan
gambar. Melalui operasi deblurring, kualitas citra masukan dapat diperbaiki
sehingga tampak lebih baik.
Gambar 2.11 Kiri: Citra Lena yang kabur (blur), kanan: citra Lena setelah
deblurring
3. Pemampatan citra (image compression).
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk
yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal
penting yang harus diperhatikan dalam pemampatan adalah citra yang telah
dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh
metode pemampatan citra adalah metode JPEG. Perhatikan Gambar 2.12.
Gambar sebelah kiri adalah citra kapal yang berukuran 258 KB. Hasil
pemampatan citra dengan metode JPEG dapat mereduksi ukuran citra semula
Gambar 2.12 (a) Citra boat.bmp9258 KB) sebelum dimampatkan, (b) citra
boat.jpg(49 KB) sesudah dimampatkan
4. Segmentasi citra(image segmentation).
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa
segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan
pengenalan pola.
5. Pengorakan citra (image analysis).
Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk
menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri –ciri
tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala
diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Contoh-contoh operasi pengorakan citra:
a. Pendeteksian tepi objek (edge detection)
b. Ekstraksi batas (boundary)
Gambar 2.13 adalah contoh operasi pendeteksian tepi pada citra Camera.
Operasi ini menghasilkan semua tepi (edge) di dalam citra.
Gambar 2.13 (a) Citra camera, (b) citra hasil pendeteksian seluruh tepi
6. Rekonstruksi citra (image reconstruction).
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra
hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis.
Misalnya beberapa foto rontgen dengan sinar X digunakan untuk membentuk
ulang gambar organ tubuh. [11]
2.5 Resolusi Citra
Resolusi citra merupakan tingkat detail suatu citra. Semakin tinggi resolusi
citra maka akan semakin tinggi pula tingkat detail dari citra tersebut. Satuan
dalam pengukuran resolusi citra dapa berupa ukuran fisik (jumlah garis per
mm/jumlah garis per inchi) ataupun dapat juga berupa ukuran citra menyeluruh
(jumlah garis per tinggi citra). Resolusi sebuah citra dapat diukur dengan beberapa
1. Resolusi pixel
2. Resolusi spasial
3. Resolusi spektral
4. Resolusi temporal
5. Resolusi radiometrik
Resolusi pixel merupakan perhitungan jumlah pixel dalam sebuah citra digital. Sebuah citra dengan tinggi N pixel dan lebar M pixel berarti memiliki
resolusi sebesar M x N. Resolusi pixel akan memberikan 2 buah angka integer
yang secara berurutan akan mewakili jumlah pixel lebar dan jumlah pixel tinggi
dari citra tersebut.
Pengertian lainnya dari resolusi pixel adalah merupakan hasil perkalian
jumlah pixel lebar dan tingginya dan kemudian dibagi dengan 1 juta. Jenis
resolusi pixel seperti ini sering kali dijumpai dalam kamera digital. Suatu citra
yang memiliki lebar 2.048 pixel dan tinggi 1.536 pixel maka akan memiliki total
pixel sebanyak 2.048 x 1.536 = 3.145.728 pixel atau 3,1 mega pixel.
Resolusi spasial menunjukkan seberapa dekat jarak setiap garis pada citra. Jarak tersebut tergantung dari sistem yang menciptakan citra tersebut. Resolusi
spasial menghasilkan jumlah pixel per satuan panjang. Resolusi spasial dari
sebuah monitor komputer adalah 72 hingga 100 garis per inchi atau dalam resolusi
72 hingga 100 ppi.
Resolusi spektrum membedakan intensitas ke dalam beberapa spektrum. Citra multi spektrum akan memberikan spektrum atau panjang gelombang yang
Resolusi temporal berkaitan dengan video. Suatu video merupakan kumpulan frame statis yang berupa citra yang berurutan dan ditampilkan secara
cepat. Resolusi temporal memberikan jumlah frame yang dapat ditampilkan setiap
detik dengan satuan frame per second (fps).
Resolusi radiometrik ini memberikan nilai atau tingkat kehalusan citra yang dapat ditampilkan dalam satuan bit contoh 8 bit dan citra 256 bit. Semakin tinggi
resolusi radiometrik ini makan semakin baik perbedaan intensitas yang
ditampilkan.[12]
2.6 Jenis Citra
Nilai suatu pixel memiliki nilai rentang tertentu, dari nilai minimum sampai
nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis
warnanya. Namun secara umum jangkauannya adalah 0-255. Citra dengan
penggambaran seperti ini digolongkan ke dalam citra integer. Berikut adalah
jenis-jenis citra berdasarkan nilai pixelnya.[12]
2.6.1 Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai
pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black
and white) atau citra monokrom. Hanya dibutuhkan1 bit untuk mewakilkan nilai
Gambar 2.14 Citra biner
2.6.2 Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai
kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN =
BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna
yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan
disini merupakan warna abu dengan berbagai tingkatan dari hitam mendekati
putih. Citra grayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi
warna keabuan).[12]
2.6.3 Citra Warna (8 bit)
Setiap pixel dari citra warna (8 bit) hanya diwakili oleh 8 bit dengan jumlah
warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra
warna 8 bit. Pertama, citra warna 8 bit dengan menggunakan palet warna 256
dengan setiap paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model
ini lebih sering digunakan.[12]
Gambar 2.16 Citra warna 8 bit
2.6.4 Citra Warna (16 bit)
Citra warna ini biasa disebut sebagai citra highcolor dengan setiap pixelnya
diwakili dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.536 warna.
Dalam formasi bitnya, nilai komponen memiliki 5 bit ditambah 1 bit ekstra.
Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia
sensitif terhadap warna hijau.[12]
2.6.5 Citra Warna (24 bit)
Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga total
16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk
memvisualisasikan seluruh warna yang dapat dilihat penglihatan manusia.
Penglihatan manusia dipercaya hanya dapat membedakan 10 juta warna saja.
Setiap poin informasi pixel (RGB) disimpan ke dalam 1 bye data. 8 bit
pertama menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit
kedua dan pada bit 8 bit terakhir merupakan warna merah.[12]
Gambar 2.18 Citra warna 24 bit
2.7 Elemen-elemen Citra Digital
Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen
dasar tersebut dapat dimanipulasi dalam pengolahan citra seperti elemen
kecerahan, kontras dan elemen-elemen dasar lain yang akan dijelaskan definisinya
beserta contohnya.[13]
2.7.1 Kecerahan (brightness)
Kecerahan adalah intensitas cahaya yang dipancarkan pixel dari citra yang
dapat ditangkap oleh sistem penglihatan. Lazimnya pada sebuah citra, kecerahan
mampu menyesuaikan dirinya dengan tingkat kecerahan, mulai dari
jangkauan terendah sampai yang tertinggi. [13]
2.7.2 Kontras (contrast)
Kontras merupakan sebaran terang (lightness) dan gelap (darkness) di
dalam sebuah gambar. Citra dengan kontras rendah dicirikan oleh sebagian besar
komposisi citranya adalah terang atau sebagian gelap. Pada citra dengan kontras
yang baik, komposisi gelap dan terang tersebar secara merata.[13]
2.7.3 Kontur (contour)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas
pada pixel-pixel yang bertetangga. Karena adanya perubahan intensitas inilah
mata kita mampu mendeteksi tepi-tepi (edge) objek di dalam citra.[13]
2.7.4 Warna (color)
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna
mempunyai panjang gelombang yang berbeda. Warna-warna yang diterima oleh
mata manusia merupakan hasil kombinasi cahaya dengan panjang gelombang
berbeda. Kombinasi warna yang memberikan rentang warna yang paling
lebar adalah red (R), green (G), dan blue (B). Persepsi sistem visual
terhadap warna sangat relatif sebab dipengaruhi oleh banyak kriteria, salah
satunya disebabkan oleh adaptasi yang menimbulkan distorsi. [13]
2.7.5 Bentuk (shape)
Shape adalah properti intrinsik dari objek tiga dimensi, dengan pengertian
Pada umumnya, citra yang dibentuk oleh mata merupakan citra dua
dimensi, sedangkan objek yang dilihat umumnya berbentuk tiga dimensi.[13]
2.7.6 Tekstur (texture)
Tekstur dicirikan sebagai distribusi spasial derajat keabuan didalam
sekumpulan pixel-pixel yang bertetangga. Tekstur tidak dapat didefinisikan untuk
sebuah pixel. Sistem visual manusia pada hakikatnya tidak menerima
informasi citra secara independen pada setiap pixel, melainkan suatu citra
dianggap sebagai suatu kesatuan. Resolusi citra yang diamati ditentukan oleh
skala pada bagian mana tekstur tersebut dipersepsi. [13]
2.8 Analisis Citra
Analisis citra bertujuan untuk mengidentifikasi parameter-parameter yang
diasosiasikan dengan ciri dari objek didalam citra, untuk selanjunya
parameter tersebut digunkan dalam menginterpretasi citra. Analisis citra pada
dasarnya terdiri dari tiga tahapan yaitu ekstraksi ciri, segmentasi dan klasifikasi.
Faktor kunci dalam mengekstraksi ciri adalah kemampuan mendeteksi
keberadaan tepi dari objek didalam citra. Setelah tepi objek diketahui,
langkah selanjunya dalam analisis citra adalah segmentasi, yaitu mereduksi citra
menjadi objek atau region. Langkah terakhir dari analisis citra adalah
klasifikasi, yaitu memetakan segmen-segmen yang berbeda kedalam kelas
objek yang berbeda pula.[13]
2.9 Pendeteksian Tepi
Pendeteksian tepi merupakan langkah pertama untuk melingkupi
berguna untuk proses segmentasi dan identifikasi objek didalam citra.
Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan
garis batas suatu daerah atau objek didalam citra.[13]
2.9.1 Konvolusi
Deteksi tepi merupakan salah satu proses pengolahan citra yang
menggunakan filter atau penapis. Untuk mengaplikasikan penapis pada citra,
digunakan metode konvolusi. Konvolusi dinyatakan dalam matriks, dimana setiap
elemen matriks penapis tersebut dinamakan koefisien konvolusi. Operasi bekerja
dengan menggeser kernel piksel per piksel, yang hasilnya kemudian disimpan
dalam matriks baru.
Untuk lebih jelasnya, berikut contoh konvolusi yang terjadi antara citra
f(x,y) berukuran 5x5 dengan sebuah kernel berukuran 3x3 yang diperlihatkan
pada gambar 2.19.
Gambar 2.19 Matriks Citra dan Kernel sebelum Konvolusi
Tahapan untuk mendapatkan hasil konvolusi yang terjadi antara citra dan
kernel diatas dapat dilihat pada Gambar 2.20.
.
.
.
Gambar 2.20 Tahapan Proses Pembentukan Konvolusi
Sehingga diperoleh hasil akhir dari proses konvolusi tersebut, yang
ditunjukkan pada gambar 2.21.[13]
4 0 8
0 2 6
6 0 2
Gambar 2.21 Hasil Kovolusi Citra dan Kernel
2.9.2 Definisi Tepi
Tepi (edge) adalah perubahan nilai intensitas derajat keabuan yang
mendadak besar dalam jarak yang singkat. Tepi biasanya terdapat pada
batas antara dua daerah berbeda pada suatu citra. Tepi dapat diorientasikan
dengan satu arah, dan arah ini berbeda-beda bergantung pada perubahan
intensitas.
Ada tiga macam tepi yang terdapat didalam citra digital ditunjukan pada
gambar 2.22, yaitu :
1. Tepi curam yaitu tepi dengan perubahan intensitas yang tajam.
2. Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai
dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya
berdekatan.
3. Tepi yang mengandung derau (noise). Umumnya tepi yang terdapat
pada aplikasi komputer mengandung derau. Operasi peningkatan
kualitas citra dapat dilakukan terlebih dahulu sebelum pendeteksian
tepi.[12]
Gambar 2.22 Jenis-jenis Tepi
2.9.3 Tujuan Pendeteksian Tepi
Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi
didalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna
untuk proses segmentasi dan identifikasi objek didalam citra. Tujuan operasi
pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu
2.10 Algoritma Frei Chen
Deteksi tepi yang menggunakan Frei Chen mask yang diimplementasikan
oleh pemetaan vektor intensitas menggunakan transformasi linear dan kemudian
mendeteksi tepi berdasarkan sudut antara intensitas vektor dan diproyeksikan
kedalam ruang bagian tepi.
Frei Chen mask adalah mask yang unik, dimana semua berisi basis vektor.
Ini d implementasikan pada area gambar 3X3 diwakili dengan jumlah sembilan
Frei Chen mask.
Dalam hal ini, kernel 1 sampai 4 digunakan untuk subspace tepi. 4 kernel
selanjutnya untuk menghasilkan subspace garis. Mask terakhir untuk rata-rata
subspace.
Jadi citra digital yang akan di deteksi tepi akan diproyeksikan pada mask
frei-chen kemudian dilakukan perhitungan, hasil dari perhitungan tersebut diambil
nilai bobotnya yang tidak bernilai nol, sehingga didapatkan hasil deteksi tepi.[1]
2.11 Algoritma SUSAN (Smallest Univalue Segment Assmilating Nucleus) Ide dibalik algoritma ini adalah dengan menggunakan kesamaan nilai-nilai
pixel tetangganya abu-abu sebagai klasifikasi kriteria. Daerah pada SUSAN berada
pada maksimum wilayah regional.
Lokal area SUSAN berisi informasi mengenai struktur dari sebuah citra
digital. Area ini daerah efektif untuk mencari dalam skal kecil. Bisa dilihat dalam
gambar 2.24, area SUSAN berada pada kondisi maksimum ketika nucleus berada
pada permukaan citra, jatuh ke setengan dari maksimum pada saat dekat tepi
lurus, dan jatuh lebih jauh ketika di sudut. Area SUSAN tersebut digunakan untuk
Gambar 2.24 Circular masks dengan posisi yang berbeda pada sebuah citra
Gambar 2.25 Empat circular masks dengan warna yang serupa, USAN
ditampilkan sebagai bagian putih dari mask
Dari area yg di deteksi tersebut disebut SUSAN (Smallest Univalue
Segment Assimilating Nucleus).
Karena Metode yang digunakan berdasarkan tingkat kecerahan(brightness)
maka lebih efektif pada citra yang mempunyai tingkat brightness yang tinggi. Jadi
terhadap circular mask dengan citra asli. Kemudian hasil dari perbandingan
tersebut di bandingkan dengan nilai threshold, apabila lebih kecil menghasilkan
nilai piksel 1 dan sebaliknya akan menghasilkan nilai 0, sehingga deteksi tepi
selesai dilakukan.[5]
2.12 Kriteria Penilaian Kualitas Citra
Pada bagian ini dibahas mengenai kriteria-kriteria penilaian baik-buruknya
kualitas citra, yaitu kriteria penilaian secara obyektif dengan menggunakan suatu
ukuran tertentu dan kriteria penilaian secara subyektif dengan berdasarkan
pengamatan mata manusia.[10]
2.12.1 Mean Square Error (MSE)
Semakin kecil nilai MSE semakin kecil nilai error pada suatu citra.
Rumus MSE dapat dituliskan sebagai berikut :[10]
MSE =
2.12.2 Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai
maksimum dari sinyal yang diukur dengan besarnya derau yang
berpengaruh pada sinyal tersebut. PSNR merupakan parameter standar
untuk menilai kualitas suatu citra secara obyektif dengan
membandingkan noise terhadap sinyal puncak.
Pada umumnya disajikan dengan angka desimal yaitu dua angka
dibelakang koma. Nilai nyata (actual value) tidak sepenuhnya berarti,
memberikan satu nilai mutu. Semakin tinggi nilainya, semakin tinggi
mutunya.[10]
PSNR biasanya diukur dalam satuan desibel, berikut persamaannya:
PSNR
=
20.log10
MSE
255
38
Analisis dan perancangan aplikasi memerlukan tahapan yang sistematis
untuk mendapatkan aplikasi yang baik dan bersesuaian dengan tujuannya. Tahap
awal dari analisis adalah menganalisis algoritma yang akan digunakan. Sedangkan
untuk tahap perancangan aplikasi yaitu perancangan antarmuka.
3.1 Deteksi Tepi Menggunakan Algoritma Frei-Chen
Frei-Chen masks merupakan satuan basis vector-vector. Dapat diwakilkan
pada setiap 3x3 subimage sebagai jumlah dari 9 Frei-Chen masks.
Setiap citra yang sudah ditentukan dilakukan proses projeksi yang mirip
dengan proses convolution, dimana proses convolution adalah proses dimana
gambar dimanipulasi dengan menggunakan masker eksternal untuk menghasilkan
gambar yang baru.
Berikut ini adalah kesembilan gambar Frei-Chen masks tersebut:
Pada empat mask pertama digunakan untuk menentukan subruang garis tepi,
empat mask berikutnya untuk menentukan subruang garis, dan mask yang terakhir
untuk perhitungan rata-rata subruang. Untuk mendeteksi tepi, gambar
diproyeksikan kedalam matrik yang ada. Persamaan proyeksi didefinisikan
sebagai berikut:
Misalkan kita memiliki subimage, Is:
Is = (3.1)
Untuk memprojeksikan subimage kedalam frei-Chen masks, mulai dengan
melakukan perhitungan kedalam f1 sampai ke f9. Maka hasilnya sebagai berikut:
(3.2)
Jika kita mengikuti proses dan proyeksi subimage Is, kedalam setiap Frei-Chen
masks, maka yang didapatkan adalah:
f1 c, f2 c, f3 c, f4 c, f5 c, f6 c, f7…
c ,f8 c, f9 c (3.3)
Berdasarkan hitungan, bobot yang tidak bernilai 0 adalah f5, f8 dan f9.
Dari hasil tersebut kemudian dikalikan dan dijumlahkan untuk mendapatkan
Secara garis besar, langkah-langkah algoritma pada proses deteksi tepi yang
diterapkan pada citra:
1. Mulai memproyeksikan citra ke sub mask.
2. Lakukan konvolusi pada citra.
3. Kalikan produk konvolusi dengan mask.
4. Ambil berat (non-nol) dan kalikan lagi dengan topeng masing-masing
sehingga menghasilkan jumlah yang sesuai.
Berikut algoritma metode frei-chen:
1 Procedure Deteksi_tepi_freichen (Input img : gambar, output img_deteksi_f : gambar)
2 {I.S : img untuk deteksi tepi}
3 {F.S : img_deteksi_f hasil deteksi tepi oleh frei-chen}
Kamus
4 img = gmbr_yang_dipilih.ekstension; Algoritma
11 tresholded_img = zeros(img_size, 'uint8'); 12 for x=1:img_size(1)
13 for y=1:img_size(2)
14 if img(x,y) >= lower && img(x,y) <=upper 15 then tresholded_img(x,y) = img(x,y); 16 end if
17 end for 18 end for
19 img = thresholded_img(x,y) 20 end if 21 img = cast(img, 'double');
22 filtered_img(:,:,1) = imfilter(img, freichen(:,:,1), 'conv');
23 filtered_img(:,:,2) = imfilter(img, freichen(:,:,2), 'conv');
24 filtered_img(:,:,3) = imfilter(img, freichen(:,:,3), 'conv');
25 filtered_img(:,:,4) = imfilter(img, freichen(:,:,4), 'conv');
26 img_deteksi_f = sqrt(filtered_img(:,:,1).^2 +
Gambar 3.2 Pseude Code frei-chen
3.2 Deteksi Tepi Menggunakan Algoritma SUSAN (Smallest Univalue Segment Assimilation Nucleus)
Teori SUSAN menggunakan metoda yang biasa digunakan dalam proses
pendeteksian sisi yaitu dengan menggunakn matrik mask yang telah ditentukan
aturan-aturannya (rules). Jika brightness dari setiap pixel di dalam mask tersebut
dibandingkan dengan brightness dari inti mask (pixel yang berada ditengah matrik
) tersebut, maka sebagian atau seluruh area dari mask dapat didefinisikan memiliki
brightness yang sama atau mirip dengan nilai brightness yang dimiliki oleh inti
mask atau nucleus. Konsep bahwa setiap titik dari citra dihubungkan dengan
sebuah area lokal yang memiliki brightness yang hampir sama adalah dasar dari
teori SUSAN [3].
Area ini kemudian dikenal sebagai USAN (Univalue Segment Assimilating
Nucleus) dan berisi informasi mengenai struktur dari sebuah citra. Berdasarkan
area ini maka bentuk dua dimensi atau sudut dan sisi dari sebuah citra dapat di
deteksi. Seperti yang terlihat pada gambar dibawah ini, area USAN digambarkan
Gambar 3.3 Lima circular masks dengan posisi yang berbeda pada sebuah citra
Gambar 3.4 Empat circular masks dengan warna yang serupa, USAN ditampilkan
sebagai bagian putih dari mask
Area dari sebuah USAN menggambarkan informasi penting mengenai
struktur dari sebuah citra pada setiap area yang telah dipetakan. USAN area
bernilai maksimum ketika nucleus berada pada bagian datar dari permukaan citra.
lagi ketika berada didalam sudut citra. Nilai dari area USAN inilah yang
digunakan sebagai penentu posisi edge.
Pendeteksian sisi SUSAN diimplementasikan dengan menggunakan
circular mask yang terdiri dari 37 pixel atau mask 3x. Matrik mask diletakkan pada
setiap bagian dari citra. Untuk setiap bagian tersebut brightness dari setiap pixel
didalam matrik dibandingkan dengan pixel nucleus. Jika perbedaan nilai
brightness dari tiap pixel kurang dari nilai threshold ”t”, maka keluaran dari
pembandingan tersebut adalah 1 dan jika sebaliknya maka nilai 0. Aturan tersebut
dituliskan ke dalam persamaan sebagai berikut :
1 ,
0 , (3.4)
Keterangan:
t = nilai threshold
= posisi nucleus pada citra
= posisi nuclues pada poin citra yang lain
Jika proses pembandingan telah dilakukan pada setiap pixel, maka akan
mask yang bernilai 1. Nilai area SUSAN diperoleh berdasarkan persamaan berikut
:
(3.5)
Keterangan:
n = total ouput
c = output perbandingan
Untuk mendapatkan respon edge, proses selanjutnya adalah
membandingkan nilai n dengan tetapan threshold g (geometric threshold) yang
bernilai 3*Nmax/4, dimana Nmax adalah nilai maksimum yang dapat dicapai oleh
n. Nilai respon awal dari edge didapatkan dengan menggunakan aturan berikut :
0 otherwise, (3.6)
Keterangan:
= hasil garis tepi
g = geometric threshold
Formulasi ini merupakan metoda SUSAN, dimana semakin kecil area
SUSAN maka akan semakin besar respon sisi yang dihasilkan.
Secara garis besar, langkah-langkah algoritma pada proses deteksi tepi
yang diterapkan pada citra:
1. Letakka
n sebuah mask circular pada pixel yang akan diuji.
2. Hitung
jumlah pixel didalam circular mask yang memilki brigtness yang
mirip dengan brightness nucleus.
3. Kurangi
ukuran SUSAN dari threshold geometric untuk menghasilkan citra
sisi yang lebih kuat.
1 Procedure Deteksi_tepi_freichen (Input IMG : gambar, output img_deteksi_s : gambar)
2 {I.S : IMG untuk deteksti tepi}
3 {F.S : img_deteksi_s hasil deteksi tepi oleh
SUSAN}
Kamus
4 IMG = gmbr_yang_dipilih.ekstension; Algoritma
25 USAN_BINARY = ceil(USAN);
26 if (nnz(USAN_BINARY) < (KAREA - KR))
Gambar 3.5 Pseude Code SUSAN
3.3 Gray – Scale
Gray-scale atau skala keabu-abuan, adalah proses umum untuk meratakan
ketiga kanal citra yaitu kanal RGB (Red, Green, Blue). Tujuan agar proses
perhitungan yang melibatkan operasi perhitungan citra yang lainnya dapat lebih
efisien. Berikut ini adalah persamaannya:
bit R (x,y) = 0,11 x bit R(x,y) + 0,59 x bit G(x,y) + 0,3 x bit B (x,y) (3.7)
dimana,
bit G (x,y) = bit B (x,y) = bit R (x,y) (3.8)
3.4 Analisis Kebutuhan Data Non Fungsional
Analisis kebutuhan ini merupakan pendukung aplikasi yang akan dijalankan.
Adapun kebutuhan-kebutuhannya yaitu:
3.4.1 Kebutuhan Perangkat Keras
Berikut ini adalah spesifikasi perangkat keras yang digunakan dalam
penelitian ini yaitu:
Perangkat lunak digunakan dalam sebuah sistem untuk memberi perintah
kepada perangkat keras agar bisa saling berinteraksi diantara keduanya. Perangkat
lunak yang dibutuhkan dalam membangun aplikasi ini adalah sebagai berikut :
a. Sistem Operasi Windows.
b. Matlab.
3.5 Kebutuhan Fungsional
Proses-proses yang terjadi di dalam aplikasi ini akan dijelaskan sebagai
3.5.1 Diagram Konteks
Diagram ini adalah diagram level tertinggi dari DFD yang
menggambarkan hubungan sistem dengan lingkungan luar. Diagram konteks dari
sistem yang dirancang adalah sebagai berikut:
Gambar 3.6 Diagram Konteks Analisis Deteksi Tepi
Proses yang terjadi pada Diagram konteks tersebut dapat dijelaskan
melalui spesifikasi proses sebagai berikut:
Tabel 3.1 Spesifikasi Proses Diagram Konteks
No Nama Proses Input Keterangan Proses Output
0 Metode
pendeteksian tepi
Frei-Chen dan
SUSAN
Citra_berwarna Mendeteksi tepi sebuah
citra dengan metode
Frei-Chen dan SUSAN
Deteksi_tepi
Selanjutnya Diagram Konteks diatas dapat dijabarkan lebih luas lagi
dengan memecah proses Diagram Konteks kedalam proses-proses yang lebih
3.5.2 Data Flow Diagram
Data Flow Diagram (DFD) merupakan pemodelan terstruktur yang
berfungsi untuk menggambar sistem sebagai suatu jaringan fungsional yang
dihubungkan satu sama lain dengan alur data baik secara manual maupun
komputerisasi. Penjabaran pertama disebut dengan DFD level 0, berikut gambar
DFD level 0.
Gambar 3.7 DFD Level 0
Penjelasan mengenai proses-proses yang terjadi pada DFD Level 0
tersebut diperlihatkan dalam tabel berikut:
Tabel 3.2 Spesifikasi Proses DFD Level 0
No Nama Proses Input Keterangan Output
1 Proses deteksi
tepi dengan
alg. Frei-Chen
Citra_berwarna Mendeteksi tepi
dengan alg.
Frei-Citra_berwarna Mendeteksi tepi
dengan alg.
SUSAN
Proses 1 dari DFD level 0 diatas terdiri atas 3 (tiga) proses utama yang
terjadi didalamnya, aliran data yang terjadi pada proses ini sebagai DFD Level 1
proses Deteksi Tepi Frei-Chen, diperlihatkan pada gambar berikut:
Gambar 3.8 DFD Level 1 Proses 1 Deteksi Tepi Frei-Chen
Untuk spesifikasi proses yang terjadi pada DFD Level 1 proses 1 ini
ditujukan pada tabel.
Tabel 3.3 Spesifikasi Proses DFD Level 1 Proses 1 Deteksi Tepi Frei-Chen
No Nama Proses Input Keterangan Proses Output
1.1 Proses tampil citra
masukan
Citra_berwarna Mencari sebuah data
alg. Frei-Chen agar
mendapat deteksi
tepi pada citra
1.3 Proses tampil citra
hasil deteksi tepi
Frei-Chen
Deteksi_tepi_fr
eichen
Menampilkan citra
yang telah diproses
dengan metode
pendeteksian tepi
Frei-Chen
Deteksi_tepi
Untuk penjelasan proses 2 deteksi tepi SUSAN, juga terdapat 3 (tiga)
proses utama. Berikut gambar penjabaran DFD Level 1 proses 2.
Gambar 3.9 DFD Level 1 proses 2 Deteksi Tepi SUSAN
Berikut tabel spesifikasi proses dari DFD Level 1 proses 2:
No Nama Proses Input Keterangan Proses Output
2.1 Proses tampil citra
masukan
Citra_berwarna Mencari sebuah data
citra(masukan) dan
Proses 1.2 dari DFD level 1 diatas terdiri atas 5 (lima) proses utama yang
terjadi didalamnya, aliran data yang terjadi pada proses ini sebagai DFD Level 2
Gambar 3.10 DFD level 2 proses 1.2 Deteksi tepi Frei-Chen
Berikut tabel spesifikasi proses dari DFD Level 2 proses 1.2:
Tabel 3.5 Spesifikasi Proses DFD Level 2 proses 2 Deteksi Tepi Frei-Chen
No Nama Proses Input Keterangan Proses Output
1.2.1 Ubah Citra
Citra_keabuan Melakukan proyeksi
1.2.4 Kalikan produk
Proses 2.2 dari DFD level 1 diatas terdiri atas 4 (lima) proses utama yang
terjadi didalamnya, aliran data yang terjadi pada proses ini sebagai DFD Level 2
proses Deteksi Tepi SUSAN, diperlihatkan pada gambar berikut:
Berikut tabel spesifikasi proses dari DFD Level 2 proses 2.2:
Tabel 3.6 Spesifikasi Proses DFD Level 2 proses 2 Deteksi Tepi SUSAN
No Nama Proses Input Keterangan Proses Output
2.2.1 Ubah Citra
Citra_keabuan Melakukan proyeksi
sisi yang lebih
kuat
3.5.3 Perancangan Kamus Data
Kamus data merupakan data yang disusun untuk memudahkan proses
analisis dan desain. Dengan kamus data pemakai dan analisis sistem akan
memiliki pemahaman umum mengenai input, output, dan komponen
penyimpanan. Dibawah ini merupakan tabel yang memperlihatkan kamus data
untuk menjelaskan data pada DFD yang telah dijelaskan sebelumnya.
Tabel 3.7 Perancangan Kamus Data
No Nama Deskripsi
1 Citra_warna Citra_warna= file citra asli
2 Citra_keabuan Hasil perubahan intensitas warna pada
citra
3 Data_tepi Hasil deteksi tepi citra dengan
algoritma Frei-Chen dan SUSAN
3.5.4 Perancangan Antarmuka Pemakai (User Interface)
Antarmuka pemakai (User Interface) adalah aspek program yang dapat
dilihat oleh pengguna, dan perintah-perintah atau mekanisme yang digunakan
Berikut ini adalah perancangan antarmuka aplikasi Pendeteksian Tepi
Citra yang dirancang dalam pemrograman Matlab.
3.5.4.1Antarmuka Pendeteksian Tepi
Tampilan utama merupakan tampilan awalan yang akan menghubungkan
user dengan fitur utama perangkat lunak. Oleh karena itu, untuk tampilan utama
ini dirancang dengan tampilan sederhana untuk mempermudah user dalam
berinteraksi dengan sistem.
Gambar 3.12 Tampilan program
3.5.5 Perancangan Prosedural
Pada bagian ini akan dibuat deskripsi rinci dari perangkat lunak, yaitu
algoritma yang akan digunakan untuk mendeteksi suatu citra digital. Deskripsi
rinci tersebut adalah sebagai berikut:
3.5.5.1Prosedur Algoritma Frei-Chen
Berikut ini prosedur dalam melakukan deteksi tepi pada citra digital
dengan menggunakan algoritma frei-chen:
1. Pilih gambar yang akan dideteksi tepinya.
2. Lakukan perubahan warna pada gambar dengan skala keabuan dengan
persamaan (3.8).
3. Lakukan filter dengan operasi konvolusi pada citra dengan mask
frei-chen (gambar 3.1).
4. Lalu estimasi magnitude gradient untuk tiap piksel menggunakan
persamaan:
(3.9)
5. Dengan memberikan nilai ambang atau threshold terhadap magnitude
Gambar 3.13 Flowchart frei-chen
3.5.5.2Prosedur Algoritma SUSAN
Berikut ini prosedur dalam melakukan deteksi tepi pada citra digital
dengan menggunakan algoritma SUSAN:
1. Pilih gambar yang akan dideteksi tepinya.
2. Lakukan perubahan warna pada gambar dengan skala keabuan dengan
3. Letakkan mask circular pada piksel yang akan diuji, berikut persamaan
mask yang digunakan:
(3.10)
4. Lakukan perbandingan antara brightness pada citra dengan mask
circular. Dengan menerapkan persamaan (3.4).
5. Jumlahkan piksel –piksel dari hasil perbandingan yang bernilai 1, maka
dapat diporeleh nilai area SUSAN berdasarkan persamaan (3.5).
61 BAB 4
IMPLEMENTASI DAN PENGUJIAN
Tahap implementasi merupakan tahap lanjutan dari tahap perancangan
sistem. Tahap ini juga merupakan tahap untuk meletakan sistem agar siap untuk
dioperasikan dan dipandang sebagai usaha untuk mewujudkan sistem yang telah
dirancang.
4.1 Perangkat Lunak Pembangun
Perangkat lunak yang digunakan pada sistem komputer yang digunakan
untuk membangun aplikasi deteksi tepi adalah sebagai berikut:
1.Sistem Operasi Windows 7.
2.Matlab.
4.2 Perangkat Keras Pembangun
Kebutuhan perangkat keras (hardware) yang diperlukan untuk
mengimplementasikan program aplikasi yang dibuat. Berikut kebutuhan
perangkat keras (hardware) yang digunakan yaitu:
1.Processor: Intel Atom 1.6 GHZ.
2.Memory: 2048 MB.
3.Hardisk: 320 GB.
4.VGA:Intel GMA 3100.
4.3 Implementasi Program 4.3.1 Implementasi Antarmuka
Antarmuka merupakan saran dialog atau interaksi antara pemakai (user)
dengan sistem.
4.3.1.1Form Utama
Pada form utama ini terdapat program secara keseluruhan beserta dengan
prosedur-prosedur programnya. Tampilan dari form utama ini dapat dilihat pada
gambar 4.1 dibawah ini:
Gambar 4.1 Antarmuka Aplikasi
4.4 Uji Coba Program
Pada sub bab ini akan dibahas tentang uji coba dari program yang telah
dibuat menyangkut masukan (input), proses dan hasil dari program (output). Ada
Gambar 4.2 Lima macam citra digital
4.5 Pengujian White-Box
4.5.1 Procedure Sort Frei-Chen dan SUSAN
Pada gambar 4.3 dan 4.4 merupakan procedure sort yang digunakan pada
masing-masing algoritma
Procedure Sort 1 img=gmbr_yang_dipilih.ekstension;
2 if size(varargin,2) > 0
Gambar 4.3 Procedure sort frei-chen
15 end for
Gambar 4.4 Procedure sort susan
4.5.2 Flowchart Frei-Chen dan SUSAN
Pada Gambar 4.5 dan 4.6 merupakan flowchart yang dimiliki pada
masing-masing algoritma
23 Else if (nnz(USAN_BINARY) < (KAREA - KR))
24 USAN = bwselect(USAN_BINARY,KR+1,KR+1,8) .* USAN; 25 End if
26 End if
27 USAN_AREA = sum(sum(USAN)); 28 if (USAN_AREA < GT)
29 EDG(i-KR,j-KR) = GT - USAN_AREA; 30 End if
4.5.3 Flow Graph Frei-Chen dan SUSAN
Pada Gambar 4.7 dan 4.8 merupakan flowchart yang dimiliki pada
masing-masing algoritma
4.5.4 Cyclomatic Complexity Frei-Chen dan SUSAN Berikut ini adalah cyclomatic complexity Frei-Chen:
V(G) = E – N +2
V(G) = 23 – 18 + 2
= 7
Selanjutnya adalah cyclomatic complexity SUSAN:
V(G) = E – N +2
V(G) = 27 – 24 + 2
= 5
4.5.5 Independent Path
Berikut ini adalah Independent Path pada Frei-Chen:
Path 1: 1,2,4,6,7,8,9,15,16,17,18,19,20,21,22,23
Path 2: 1,2,4,6,7,8,9,10,14,15,16,17,18,19,20,21,22,23
Path 3: 1,2,3,4,6,7,8,9,15,16,17,18,19,20,21,22,23
Path 4: 1,2,4,5,6,7,8,9,15,16,17,18,19,20,21,22,23
Path 5: 1,2,4,6,7,8,9,10,11,10,14,15,16,17,18,19,20,21,22,23
Path 6: 1,2,4,6,7,8,9,10,11,12,13,9,15,16,17,18,19,20,21,22,23
Berikut ini adalah Independent Path pada SUSAN:
Path 1: 1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33
Path 2 : 1,2,4,5,6,7,8,9,10,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33
Path 3: 1,2,4,5,6,7,8,9,10,11,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
4.5.6 Graph Matrices Frei-Chen dan SUSAN
masing-11 1 1 1
Gambar 4.9 Graph Metrices Frei-Chen
7
Gambar 4.10 Flow Graph SUSAN
4.6 Pengujian Black-Box
4.6.1Konversi Citra Warna Menjadi Skala Keabuan
Perubahan citra warna menjadi skala keabuan, dimana memberikan
intensitas pada citra warna dalam kisaran dari 0 – 255. Dimana nilai 0
merepresentasikan warna hitam sedangkan 255 merepresentasikan warna putih.
Dibawah ini gambar citra warna yang diubah kedalam skala keabuan.
Gambar 4.11 Perubahan Citra Warna Kedalam Skala Keabuan
4.6.2Deteksi Tepi Citra
Berikut ini gambar hasil dari proses deteksi tepi pada citra dengan
masing-masing algoritma.
Pertama deteksi tepi dengan menggunakan algoritma frei-chen:
Citra f15.jpg dengan resolusi citra 400 x 273 piksel.
Citra lena_rgb.jpg dengan resolusi 512 x 512 piksel.
Gambar 4.13 Hasil Deteksi Tepi Frei-Chen Pada Citra Lena
Citra newyork.jpg dengan resolusi 400 x 271 piksel
Citra opera.jpg dengan resolusi 400 x 337 piksel.
Gambar 4.15 Hasil Deteksi Tepi Frei-Chen Pada Citra Sebuah Gedung
Citra papermachine.jpg dengan resolusi 400 x 264 piksel
Gambar kedua dengan algoritma susan:
Gambar 4.17 Hasil Deteksi Tepi SUSAN Pada Citra Pesawat
Gambar 4.19 Hasil Deteksi Tepi SUSAN Pada Citra Penuh Gedung
Gambar 4.21 Hasil Deteksi Tepi SUSAN Pada Citra Mesin Kertas
4.6.3Deteksi Tepi Pada Citra Yang Memiliki Noise
Pendeteksian tepi dengan citra yang memiliki noise, bertujuan untuk
mengetahui kemampuan dari kedua algoritma dalam mendeteksi objek yang ada.
Citra asli diberi noise Gausian dengan batasan nilai variance dari 0,001 – 0,005.
Tabel 4.1 Hasil Deteksi Tepi Dengan Citra Bernoise
No Nilai
Variance
Pada
Gausssian
Citra Asli Hasil Deteksi Tepi
Frei-Chen
Hasil Deteksi Tepi
SUSAN
4.6.4Perbandingan Deteksi Tepi
Perbandingan deteksi tepi merupakan berdasarkan perbandingan waktu
proses dan nilai PSNR dari kedua metode yang digunakan. Berikut tabel
hasil dari waktu proses, nilai MSE dan nilai PSNR yang diperoleh.
Tabel berikut memperlihatkan pendeteksian tepi frei-chen pada citra
Tabel 4.2 Perhitungan PSNR Frei-Chen
Nilai variance F15 Lena_RGB Newyork Opera Papermachine
0,001 15,9262 13,5773 15,5445 14,1344 16,3699
0,002 10,7524 11,4788 13,9624 12,3416 14,8258
0,003 8,69136 8,8966 13,1338 11,249 13,7307
0,004 7,46011 8,79276 12,4159 10,1668 13,0716
0,005 6,64704 8,08999 11,9776 9,49363 12,4754
Gambar 4.22 Grafik PSNR Untuk Deteksi Tepi Frei-Chen
Tabel 4.3 Perhitungan PSNR SUSAN
Nilai variance F15 Lena_RGB Newyork Opera Papermachine
0,001 20,2581 13,2028 8,81519 11,1178 10,7938
0,002 13,8203 10,5245 8,13667 9,29798 9,41921
0,003 10,204 8,60251 7,67177 7,95357 8,38547
0,004 8,35571 7,55518 7,4096 7,18491 7,65961
0,005 7,26426 6,91968 7,18744 6,68146 7,18614
Gambar 4.23 Grafik PSNR Untuk Deteksi Tepi SUSAN
Dari data-data diatas maka diperoleh hasil perbandingan antara kedua
metode.
Berikut ini pada gambar 4.16 menampilkan perbandingan nilai PSNR pada
Gambar 4.24 Grafik perbandingan nilai PSNR Untuk citra F15
Berikut ini pada gambar 4.17 menampilkan perbandingan nilai PSNR pada
citra Lena_RGB.
Gambar 4.25 Grafik perbandingan nilai PSNR Untuk citra Lena_RGB
Berikut ini pada gambar 4.18 menampilkan perbandingan nilai PSNR pada
Gambar 4.26 Grafik perbandingan nilai PSNR Untuk citra Newyork
Berikut ini pada gambar 4.19 menampilkan perbandingan nilai PSNR pada
citra Opera.
Gambar 4.27 Grafik perbandingan nilai PSNR Untuk citra Opera
Berikut ini pada gambar 4.20 menampilkan perbandingan nilai PSNR pada