Anda di halaman 1dari 6

ALGORITMA DETEKSI TEPI CANNY

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 :
1. Derajat 0 22,5 dan 157,5 180 berwarna Kuning.
2. Derajat 22,5 67,5 Berwarna Hijau, dan
3. 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 suppressionsehingga 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

Algoritme deteksi tepi Canny dikenal sebagai algoritme yang optimal


dalam melakukan pendeteksian tepi. Untuk meningkatkan metode-metode
yang telah ada dalam pendeteksian tepi, algortime deteksi tepi Canny
mengikuti beberapa kriteria sebagai berikut:
Tingkat error yang rendah. Error terjadi bila ada tepi yang penting
tetapi tidak muncul, atau bila ada yang bukan tepi tetapi muncul. Titik-titik
pada tepi dilokasikan dengan benar.

Dengan kata lain, jarak antara

piksel-piksel tepi yang ditemukan algoritme dengan tepi sesungguhnya


diminimumkan.

Hanya satu respon (lebar 1 piksel) untuk setiap sebuah tepi. Berdasarkan
kriteria di atas, algoritme deteksi tepi Canny dilakukan dengan langkahlangkah sebagai berikut:
1. Pertama-tama dilakukan penghalusan (smoothing) citra untuk
menghilangkan noise. Contohnya menggunakan filtering dengan
Gaussian Filter.
2. Selanjutnya dicari gradient magnitude citra untuk melihat daerahdaerah
yang
memiliki
turunan
spasial
yang
tinggi.
Pencarian gradient magnitude seperti yang ditulis pada tulisan
sebelumya, bisa pakai Sobel, Prewitt,, dll
3. Ditentukan arah dari tepi dengan menggunakan invers tangen
dari gradient magnitude Y (Gy) dibagi gradient magnitude X (Gx).
Arah yang diperoleh dari perhitungan ini kemudian dipetakan ke 0,
45, 90, atau 135 derajat berdasarkan kedekatannya dengan
keempat derajat arah tadi.
4. Kemudian
dilakukan Non
Maximum
Suppression.
Yaitu,
penghilangan nilai-nilai yang tidak maksimum. Ditelusuri daerah
yang ditemukan pada langkah 2 (dengan arah seperti yang
ditemukan pada langkah 3), dan menghilangkan (suppress) setiap
piksel yang tidak maksimum.
5. Selanjutnya dilakukan Hysteresis (disebut juga Hysthresis), [for me
maybe simply "double thresholding"]. Hysteresis menggunakan
dua threshold T1 (threshold bawah) dan T2 (threshold atas).
Bila magnitude ada di bawah T1, titik tersebut di-set nol (dijadikan
non-tepi). Bila magnitude ada di atas T2, maka termasuk tepi.
Bila magnitudeada diantara T1 dan T2, di-set nol kecuali jika ada
jalan (path) dari titik tersebut ke titik yang memiliki magnitude di
atas T2.
Metode deteksi tepi dengan menggunakan model sobel, canny, prewitt dan log :
>> I=im2bw(imread('x_ray2.JPG'));
>> bw1=edge(I,'sobel');
>> bw2=edge(I,'canny');
>> bw3=edge(I,'prewitt');
>> bw4=edge(I,'log');
>> bw5=edge(I,'robert');
>> imshow(I),title('awal)
??? imshow(I),title('awal)
|
Error: Missing variable or function.

>> imshow(I),title('awal')
Warning: Image is too big to fit on
screen; displaying at 56% scale.
> In truesize>Resize1 at 308
In truesize at 44
In imshow at 161
>> figure,imshow(bw1),title('sobel)
???
figure,imshow(bw1),title('sobel)
|
Error: Missing variable or function.

>> figure,imshow(bw1),title('sobel')
Warning: Image is too big to fit on
screen; displaying at 56% scale.
> In truesize>Resize1 at 308
In truesize at 44
In imshow at 161
>>
figure,imshow(bw2),title('canny')
Warning: Image is too big to fit on
screen; displaying at 56% scale.
> In truesize>Resize1 at 308
In truesize at 44
in imshow at 161
>>
figure,imshow(bw3),title('prewitt')
Warning: Image is too big to fit on
screen; displaying at 56% scale.

> In truesize>Resize1 at 308


In truesize at 44
In imshow at 161
>> figure,imshow(bw4),title('log')
Warning: Image is too big to fit on
screen; displaying at 56% scale.
> In truesize>Resize1 at 308
In truesize at 44
In imshow at 161
>>
figure,imshow(bw5),title('robert')
Warning: Image is too big to fit on
screen; displaying at 56% scale.
> In truesize>Resize1 at 308
In truesize at 44
In imshow at 161
>>

KESIMPULAN:
Dari percobaan terhadap 5 metode deteksi tepi dalam matlab yaitu, Sobel,
Robert, Prewitt,Canny, dan metode LoG maka dapat diambil kesimpulan bahwa,
deteksi tepi paling baik dihasilkan dari penggunaan metode Canny. Deteksi tepi
dengan menggunakan metode Canny adalah deteksi tepi terbaik dikarenakan
garis yang dihasilkan oleh deteksi tepi ini lebih halus dan tidak terputus-putus.
Karena alasan tersebut, maka sebagian besar proses segmentasi maupun
ekstraksi suatu citra lebih banyak menggunakan metode Canny.
Pada penulisan ini menggunakan 2 buah objek citra yaitu tulang lutut kiri normal
dan tulang lutut kiri yang patah, namun hanya satu citra yang hasil deteksi
tepinya paling baik..
Saran untuk pengembangan lebih lanjut dari penelitian ini adalah citra tulang lutut
kiri yang akan dideteksi tepi harus baik, tidak boleh buram ataupun kabur, jika
tidak harus dilakukan terlebih dahulu perbaikan kualitas citra. Kemudian perlu
dilakukan uji coba terhadap data citra dalam jumlah yang besar.