Linux Fun
Hough Transform
Hough Transform pertama kali diperkenalkan oleh Paul Hough pada tahun 1962 untuk mendeteksi garis lurus. Hough Transform adalah teknik transformasi citra yang dapat digunakan untuk mengisolasi atau dengan kata lain memperoleh fitur dari sebuah citra. Karena tujuan dari sebuah transformasi adalah mendapatkan suatu fitur yang lebih spesifik, Classical Hough Transform merupakan teknik yang paling umum digunakan untuk mendeteksi objek yang berbentuk kurva seperti garis, lingkaran, elips dan parabola. Keuntungan utama dari transformasi Hough adalah dapat mendeteksi sebuah tepian dengan celah pada batas fitur dan secara relatif tidak dipengaruhi oleh derau atau noise.
Fungsi Garis
Transformasi Hough memiliki beberapa perbedaan rumus yang diterapkan. Semuanya tergantung pada jenis objek yang dicari, misalnya untuk mencari objek garis akan digunakan fungsi garis seperti berikut ini:
Dengan x dan y merupakan titik koordinat yang menyusun objek garis tersebut, sedangkan teta adalah sudut yang dibentuk antara objek garis dengan sumbu x, dan r merupakan jarak antara garis dengan titik pusat (0,0). Untuk lebih jelasnya dapat diilustrasikan dengan menggunakan gambar berikut.
Dalam pengolahan citra digital, terdapat beberapa dasar statistik yang sering digunakan. Dasar-dasar statistik yang digunakan dalam penelitian ini dijelaskan pada subbab berikut:
Nilai Rata-rata
Nilai rata-rata atau mean dari sebuah vektor X dengan jumlah n elemen dirumuskan sebagai persamaan berikut :
Varian dan Standar Deviasi
Nilai varian dari suatu vektor X dengan n buah elemen dapat dicari dengan persamaan :
Sedangkan nilai akar dari varian disebut standar deviasi :
Kovarian
Nilai kovarian dari 2 vektor X dan Y dengan masing-masing memiliki n buah elemen dapat dicari dengan persamaan :
Momen
Momen dapat menggambarkan suatu objek dalam hal area, posisi, orientasi dan parameter terdefinisi lainnya. Persamaan dasar dari momen suatu objek didefinisikan sebagai berikut.
dengan order dari momen adalah (i + j). x dan y menyatakan koordinat titik, sedangkan axy menyatakan intensitas titik.
Momen ke-0 dan ke-1
Momen tingkat ke-0 dan ke-1 (zero- and first-order moments) didefinisikan sebagai berikut.
Pada citra biner yang mana axy akan bernilai 0 atau 1, momen tingkat ke-0 (m00) adalah sama dengan area dari objek.
Pusat dari area atau massa (centroid) adalah parameter yang baik untuk menyatakan lokasi dari objek. Pusat area dari objek didefinisikan sebagai berikut.
dengan (xβ,yβ) merupakan pusat koordinat dari objek.
Berikut ini adalah keterbatasan dari proses deteksi tepi :
- Tepian yang diekstraksi menggunakan metode klasik sering kali tidak menunjukkan batasan objek. Diberbagai citra berkualitas rendah, beberapa dari metode konvensional menghasilkan kesalahan dalam pendeteksi tepi.
- Teknik deteksi tepi tergantung dari informasi yang terkandung pada nilai ketetanggaan pixel citra. Sebagian besar dari teknik deteksi tepi tidak dapat menghasilkan informasi berdasarkan model yang terdapat pada citra.
- Dalam banyak kasus stratedi deteksi tepi sering melewatkan hasil turunan yang lebih tinggi dan terkadang bisa dapat menjadi sesuatu yang penting dari citra tersebut.
- Setelah titik-titik tepian terdeteksi, maka akan dihubungkan untuk mendapatkan garis batas. Proses tersebut sering kali menyebabkan terjadinya diskontinuitas dan juga kekosongan pada citra.
- Metode penyambungan tepi terkadang memerlukan interpolasi yang berubah-ubah dengan tujuan untuk mengisi batas kekosongan.
Terkadang sangat sulit mengidentifikasi dan mengklasifikasikan tepian yang tidak beraturan (palsu).
Deteksi Tepi Canny
Deteksi tepi Canny dapat mendeteksi tepian yang sebenarnya dengan tingkat eror yang minimum dengan kata lain, operator Canny di desain untuk menghasilkan citra tepian yang optimal.
Langkah-langkahΒ Deteksi Tepi Canny
Berikut adalah langkah-langkah dalam melakukan deteksi tepi Canny.
Langkah I adalah Menghilangkan Noise yang ada pada citra dengan mengimplementasikan Filter Gaussian. Hasilnya citra akan tampak sedikit buram. Hal ini dimaksudkan untuk mendapatkan tepian citra yang sebenarnya. Bila tidak dilakukan maka garis-garis halus juga akan dideteksi sebagai tepian.Β Berikut ini adalah salah satu contoh filter gaussian dengan Ο = 1.4 :
Langkah II adalah melakukan deteksi tepi dengan salah satu operator deteksi tepi seperti Roberts, Perwit atau Sobel dengan melakukan pencarian secara horizontal (Gx) dan secara vertikal (Gy). Berikut ini salah satu contoh operator deteksi tepi (Operator Sobel):
Hasil dari kedua operator digabungkan untuk mendapatkan hasil gabungan tepi vertikal dan horizontal dengan rumus:
Langkah III Menentukan Arah tepian yang ditemukan dengan menggunakan rumus:
Dan selanjutnya membagi ke dalam 4 warna sehingga garis dengan arah yang berbeda memiliki warna yang berbeda. Pembagiannya adalah :
- Derajat 0 β 22,5 dan 157,5 β 180 berwarna Kuning.
- Derajat 22,5 β 67,5 Berwarna Hijau, dan
- Derajat67,5 β 157,5 Berwarna Merah.
Berikut ini adalah bagan pembagian warna berdasarkan arah tepian yang dilakukan oleh Canny:
Langkah IV memperkecil garis tepi yang muncul dengan menerapkan non maximum suppression sehingga menghasilkan garis tepian yang lebih ramping.
Langkah terakhir adalah binerisasi dengan menerapkan dua buah nilai ambang. Gambar berikut ini akan menunjukkan bentuk citra sebelum pemrosesan dan sesudah pemrosesan.
Citra Awal
Citra Hasil
Deteksi Isotropik
Deteksi isotropik dibentuk dari matrik 3 x 3 pada bagian horizontal maupun bagian vertikal. Matriks tersebut dapat dijabarkan sebagai berikut:
Operator Kirsch
Operator ini mirip dengan operator prewitt. Filter Kirsch dapat dipetakan ke delapan arah mata angin sehingga operator ini dapat menentukan gradient dari kedelapan arah tersebut. Operator Kirsch terbentuk dari matriks 3 x 3 seperti berikut ini.
Operator Prewitt
Operator Prewitt merupakan kebalikan dari Operator Sobel. Operator ini lebih sensitive terhadap tepian horizontal dan vertical dari pada tepian diagonal. Operator ini terbentuk dari matriks berukuran 3 x 3 seperti berikut ini:
Contoh Penggunaan Operator Prewitt
Contoh penggunaan Operator PrewittΒ dengan citra grayscale menggunakan nilai threshold 0.05 :
Citra Asal
Operator Prewitt Horisontal
Operator Prewitt Vertikal
Operator Sobel
Operator Sobel lebih sensitive terhadap tepian diagonal dari pada tepian vertical dan horizontal. Operator ini terbentuk dari matriks berukuran 3 x 3 seperti berikut ini:
Sama halnya dengan Operator Robert, Operator Sobel juga dapat diterapkan secara terpisah untuk mendapatkan gradient horizontal dan gradient vertikalnya. Untuk mendapatkan gradient gabungan dapat dihitung dengan menggunakan persamaan berikut:
Atau dapat juga dihitung dengan:
Contoh Penggunaan Operator Sobel
Contoh penggunaan Operator Sobel pada citra grayscale dan menggunakan nilai threshold 0.05 :
Citra Asal
Operator Sobel Horisontal
Operator Sobel Vertikal
Operator Robert
Operator Robert merupakan sebuah teknik deteksi tepi yang sederhana dan memiliki tingkat komputasi yang cepat. Pada umumnya operator ini digunakan untuk citra grayscale. Operator Robert dapat digambarkan dengan dua buah matriks berukuran 2 x 2 seperti berikut ini:
Matriks di atas dapat merespon tepian maksimal hingga 450. Kedua matriks di atas dapat diterapkan pada citra secara terpisah, baikΒ untuk mendapatkan tepian horizontal maupun tepian vertical. Kedua matriks ini juga dapat dikombinasikan untuk mendapatkan hasil gradient gabungan dengan menggunakan persamaan berikut:
Atau dapat juga dihitung dengan :
Contoh Penggunaan Operator Robert
Contoh penggunaan Operator Robert pada citra grayscale :
Citra Asal
Operator Robert Horisontal
Operator Robert Vertikal
Deteksi tepi dengan menggunakan operator Robert di atas menggunakan image grayscale yang di operasikan dengan threshold (T) = 0.05.