Selasa, 17 November 2009

Deteksi Tepi Menggunakan Metode Robert, Sobel, Prewitt, dan Laplacian

Tepi (Edge) Adalah perubahan nilai intensitas derajat keabuan yang cepat atau tiba-tiba (besar) dan dalam jarak yang singkat.

Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah :
• Untuk menandai bagian yang menjadi detail citra
• Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra
Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya.


Teknik yang digunakan untuk pendeteksian tepi antara lain :
-Operator Gradien Utama (Differential Gradien)
-Operator Turunan Kedua (Laplacian)
-Operator Kompas ( Compas Opertor)

Pada pembuatan program ini kita akan membahas deteksi tepi pada Operator Gradien Utama dan Operator Turunan Kedua. Operator gradien utama terdiri dari 3 metode yaitu :

Metode Robert
Metode Robert adalah nama lain dari teknik differensial yang dikembangkan di atas, yaitu differensial pada arah horisontal dan differensial pada arah vertikal, dengan ditambahkan proses konversi biner setelah dilakukan differensial. Teknik konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi warna hitam dan putih [5. Metode Robert ini juga disamakan dengan teknik DPCM (Differential Pulse Code Modulation)

Metode Prewitt
Metode Prewitt merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF.

Metode Sobel
Metode Sobel merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.

Sedangkan pada operator turunan kedua terdapat metode laplacian

Untuk langkah persiapan terdapat pada tulisan blog sebelumnya dengan judul "histogram". Syntax yang digunakan untuk pendeteksian tepi dengan metode robert, prewitt, dan sobel serta teknik turunan kedua laplacian. berikut adalah listing program dan output program.

Listing program

clear all;
l=imread('Humpback Whale.jpg');
l1=rgb2gray(l);
l2=fft(double(l1));
l2_1=fft(double(l));
figure(1)
clf(subplot(3,2,1),imshow(l));
title('Original image');
hold on;
subplot(3,2,2),imshow(l1);
title('Gray scale image ');
% creat filter matrix(3x3 window)
h=fspecial('prewitt');
l_pre=uint8(round(filter2(h,l1)));
l_pre_1=fft(double(l_pre));
subplot(3,2,3),imshow(l_pre)
title('Prewitt filtered image');
% creat filter matrix(3x3 window)
h=fspecial('sobel');
l_sobel=uint8(round(filter2(h,l1)));
l_sobel_1=fft(double(l_sobel));
subplot(3,2,4),imshow(l_sobel)
title('Sobel filtered image');
h=fspecial('log',5);
l_log=uint8(round(filter2(h,l1)));
l_log_1=fft(double(l_log));
subplot(3,2,5),imshow(l_log)
title('5x5 Laplacian of Guassian Filtered Image');
h=fspecial('log',3);
l_log3=uint8(round(filter2(h,l1)));
l_log3_1=fft(double(l_log3));
subplot(3,2,6),imshow(l_log3)
title('3x3 Laplacian of Guassian Filtered Image');
%suitable images are TIFF images ,png,jpgonly bmp is not suitable.
figure(2)
subplot(3,2,1),imshow(l2);
subplot(3,2,2),imshow(l2);
subplot(3,2,3),imshow(l_pre_1);
subplot(3,2,4),imshow(l_sobel_1);
subplot(3,2,5),imshow(l_log_1);
subplot(3,2,6),imshow(l_log3_1);


Output Program






2 komentar: