Professional Documents
Culture Documents
Edge atau tepi merupakan representasi dari batas objek dalam citra. Hal ini merupakan permasalahan
mendasar dan penting dalam pengolahan citra digital. Yang perlu diingat adalah edge memiliki nilai
intensitas yang sangat kontras dibandingkan dengan piksel di sebelahnya (neighborhood). Deteksi tepi
bisa menjadi sebuah filter untuk menghilangkan informasi yang tidak dibutuhkan, atau lebih sering
disebut sebagai noise atau derau. Dengan deteksi tepi, struktur dari properti atau objek dalam citra
tetap dipertahankan.
Algoritma Sobel merupakan salah satu algoritma dari edge detection pada citra digital yang berbasis
pada nilai gradient. Algoritma ini digunakan untuk citra biner. Citra biner merupakan citra yang
bernilai antara 0 dan 1 atau sering disebut sebagai grayscale. Metode gradient adalah metode yang
mendeteksi pinggir objek dengan mencari nilai maksimum dan minimum dari turunan pertama citra
tersebut. Selain gradient ada juga basis dari algoritma deteksi pinggir, yakni Laplacian. Laplacian
didasarkan pada turunan kedua dari citra tersebut. Untuk lebih jelas perhatikan gambar (2) untuk
gradient dan gambar (3) untuk laplacian.
1
Gambar (3). Isyarat Laplacian
Gambar (1) menujukkan gradient atau turunan pertama dari isyarat asli yang ditunjukkan oleh gambar
(1) berbentuk 1-D. Tampak bahwa turunan pertama ini menghasilkan nilai maksimum di pusat
koordinat. Artinya adalah lokasi piksel edge berada pada titik tersebut bila melebihi nilai ambang
yang ditetapkan. Metode lain adalah laplacian, dengan menggunakan turunan kedua, akan
menghasilkan nilai minimum di pusat koordinat. Nilai ambang sangat dibutuhkan disini, karena akan
menentukan nilai intensitas mana yang dianggap sebagai edge dan mana yang bukan.
Algoritma Sobel memiliki operator konvolusi yang disebut juga sebagai operator sobel atau kernel
sobel. Kernel ini berukuran 3x3 yang terdiri atas 2 buah kernel, untuk horizontal (Gx) dan vertikal
(Gy). Kernel tersebut dioperasikan secara konvolusi dengan piksel pada citra dalam arah x dan arah y.
Kernel ini ditunjukkan oleh gambar (4).
Algoritma sobel memang sering digunakan sebagai edge detecting algorithm tapi tentu memiliki
kekurangan. Kekurangannya adalah citra digital tidak bisa dilepaskan dari kehadiran derau.
Masalahnya ketika citra ini dikonvolusikan dengan kernel sobel, yang terjadi adalah derau tersebut
juga ikut di proses, sehingga derau menjadi bagian dari hasil algoritma sobel. Hal ini tentu tidak
diharapkan, sehingga perlu adanya filter terhadap derau yang harus diberikan terlebih dahulu. Filter
yang sering digunakan adalah filter statistik, yakni filter median. Algoritma sobel bagus jika
Pengolahan citra digital by Jans Hendry / S2 TE UGM 09
diterapkan pada data yang sangat besar, sehingga SNR nya menjadi semakin besar dan kehadiran
derau masih bisa ditoleransi. Operator sobel bisa saja berukuran lebih dari 3, tetapi ada rumusan untuk
itu, karena dengan ukuran lebih besar maka diharapkan derau juga bisa dihilangkan. Sebaiknya juga
gunakan ukuran ganjil, agar hasil konvolusinya didasarkan pada titik tengah dan operator memiliki
titik tengah.
Sebenarnya, matlab telah menyediakan toolbox khusus untuk algoritma ini, yakni:
image = edge(image,’sobel’)
tapi dalam artikel ini, akan dicoba membuat program sendiri dengan langkah-langkah dari
penggunaan algoritma Sobel.
4. Dengan memberikan nilai ambang atau threshold terhadap magnitude gradient, maka didapat
citra yang berisi hasil dari edge detection.
I=imread('jogja','jpg');
imshow(I), title('Citra Asli');
Ig=rgb2gray(I);
mmax=max(max(M));
3
mmin=min(min(M));
T=(mmax+mmin)/2;
T=(T/mmax); % normalisasi threshold
M=M/mmax;
miu1=.1;
miu2=.2;
del_miu=abs(miu1-miu2);
[r c]=size(M);
an=1;
while an<=500
for ii=1:r
for jj=1:c
if M(ii,jj)<T
M1(ii,jj)=M(ii,jj);
else
M2(ii,jj)=M(ii,jj);
end
end
end
miu1=mean2(M1);
miu2=mean2(M2);
T=(miu1+miu2)*2;
an=an+1;
end
for ii=1:r
for jj=1:c
if M(ii,jj)<T
M(ii,jj)=0;
else
M(ii,jj)=1;
end
end
end
[Igms,thres]=edge(Igm,'sobel');
figure, imshow(M), title('Citra Hasil Sobel Filtering');
figure, imshow(Igms,[]), title('Citra Hasil Sobel Filtering');
Perlu diingat bahwa aktifitas ini bersifat subyektif. Artinya kualitas dari filter tersebut dalam
menghasilkan edge yang diinginkan tergantung pada pemrogram. Sehingga bila dirasa sudah cukup
memberikan hasil yang maksimal, maka program sudah dapat dikatakan berhasil. Semoga artikel ini
dapat membantu anda, untuk filter edge detection yang lain, akan ditulis dalam artikel berbeda.
TERIMA KASIH
5
Referensi:
- Vincent, O.R., Folorunso, O. A descriptive algorithm for Sobel image edge detection.
- http://www.pages.drexel.edu/~weg22/edge.html
- www.image.google.co.id