You are on page 1of 14

LAPORAN PRAKTIKUM

PENGOLAHAN CITRA DIGITAL NO JOB 8

Nama Nim Kelas

: Andy Hafiandy : 3201016062 :5B

TEKNIK INFORMATIKA TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK 2013

TUJUAN
1. Melakukan filtering (deteksi tepi) dengan metode Robet. 2. Melakukan filtering (deteksi tepi) dengan metode Prewit. 3. Melakukan filtering (deteksi tepi) dengan metode Sobel.

TEORI DASAR
EDGE DETECTION (DETEKSI TEPI) Penentuan tepian suatu objek dalam citra merupakan salah satu wilayah pengolahan citra digital yang paling awal dan paling banyak diteliti. Proses ini seringkali ditempatkan sebagai langkah pertama dalam aplikasi segmentasi citra, yang bertujuan untuk mengenali objek-objek yang terdapat dalam citra ataupun konteks citra secara keseluruhan. Deteksi tepi berfungsi untuk mengidentifikasi garis batas (boundary) dari suatu objek yang terdapat pada citra. Tepian dapat dipandang sebagai lokasi piksel dimana terdapat nilai perbedaan intensitas citra secara ekstrem. Sebuah edge detector bekerja dengan cara mengidentifikasi dan menonjolkan lokasi-lokasi piksel yang memiliki karakteristik tersebut. Ada banyak cara-cara untuk mengintifikasikan bagian tepi suatu citra, diantaranya adalah sebagai berikut : - OPERATOR GRADIEN Pada citra digital f(x,y), turunan berarah sepanjang tepian objek akan bernilai maksimum pada arah normal dari kontur tepian yang bersesuaian. Sifat ini dipergunakan sebagai dasar pemanfaatan operator gradien sebagai edge detector. Operator gradien citra konvensional melakukan diferensiasi intensitas piksel pada arah baris dan kolom, mengikuti persamaan local intensity variation berikut :

Nilai magnitudo gradien

dari persamaan di atas dapat dinyatakan sebagai berikut:

Operator gradien dapat direpresentasikan oleh dua buah kernel konvolusi Gx dan Gy, yang masing-masing mendefinisikan operasi penghitungan gradien dalam arah sumbu x dan sumbu y yang saling tegak lurus Dalam kasus penghitungan gradien dengan persamaan local intensity variation, maka kernel Gx dan Gy dapat dirumuskan seperti berikut:

Dari operator gradien konvensional di atas, dapat diturunkan berbagai operator gradien berikut 1.Operator Roberts 2.Operator Prewit 3.Operator Sobel 1. 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], seperti telah dibahas pada bab 3. Metode Robert ini juga disamakan dengan teknik DPCM (Differential Pulse Code Modulation). Kernel filter yang digunakan dalam metode Robert ini adalah : [ 2. Metode Prewit 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. Karena filter yang digunakan dalam metode Prewit ini adalah : [ 3. 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. Kernel filter yang digunakan dalam metode Sobel ini adalah : [ ] dan [ ] ] dan [ ] ] dan [ ]

PROSEDUR PERCOBAAN I. Deteksi tepi dengan metode Robet. 1. Buatlah project baru dan tambahkan komponen pada form sehingga tampak seperti gambar berikut ini :

2. Tulislah kode program untuk form1, DivListBox1, DirListBox1, dan FileListBox1 dengan kode berikut : Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) End Sub Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" End Sub

3. Tulislah kode berikut ini untuk deteksi tepi dengan metode Robet pada CommandButton1. Private Sub Command1_Click() Dim w(400, 400) As Integer n1 = 0 For i = 1 To Picture1.ScaleWidth Step 15 n1 = n1 + 1 n2 = 0 For j = 1 To Picture1.ScaleHeight Step 15 warna = Picture1.Point(i, j) r = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) wx = Int((r + g + b) / 3) Picture1.PSet (i, j), RGB(wx, wx, wx) n2 = n2 + 1 w(n1, n2) = wx Next j Next i For i = 1 To n1 For j = 1 To n2 If i = 1 Then wx1 = w(i, j) Else wx1 = w(i, j) - w(i - 1, j) If j = 1 Then wx2 = w(i, j) Else ex2 = w(i, j) - w(i, j - 1) wx = Abs(wx1) + Abs(wx2) If wx > 255 Then wx = 255 Picture2.PSet ((i - 1) * 15 + 1, (j - 1) * 15 + 1), RGB(wx, wx, wx) Next j Next i End Sub 4. Tambahkan kode berikut pada awal program. Dim h1(3, 3) As Single Dim h2(3, 3) As Single 5. Tambahkan kode berikut pada form1_Load Private Sub Form_Load()

h1(1, 1) = -1: h1(1, 2) = 0: h1(1, 3) = 1 h1(2, 1) = -1: h1(2, 2) = 0: h1(2, 3) = 1 h1(3, 1) = -1: h1(3, 2) = 0: h1(3, 3) = 1 For i = 1 To 3 For j = 1 To 3 h2(i, j) = h1(i, j) Next j Next i End Sub 6. Eksekusi program dan cetak citra hasil eksekusi.

II.

Deteksi tepi dengan metode Prewit 1. Tambahkan kode program berikut ini untuk deteksi tepi Prewit pada commandButtton2. Private Sub Command2_Click() Dim x(500, 500) As Integer 'RGB to Gray n1 = 0 For i = 1 To Picture1.ScaleWidth Step 15 n1 = n1 + 1 n2 = 0 For j = 1 To Picture1.ScaleHeight Step 15 warna = Picture1.Point(i, j) r = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) n2 = n2 + 1 x(n1, n2) = Int((r + g + b) / 3) Picture1.PSet (i, j), RGB(x(n1, n2), x(n1, n2), x(n1, n2)) Next j Next i 'Prose filter Prewit dengan Konvolusi For i = 1 To n1

For j = 1 To n2 z1 = 0 z2 = 0 For u1 = -1 To 1 For u2 = -1 To 1 z1 = z1 + h1(u1 + 2, u2 + 2) * x(i + u1, j + u2) z2 = z2 + h2(u1 + 2, u2 + 2) * x(i + u1, j + u2) Next u2 Next u1 z = Int(Abs(z1 + z2)) If z > 255 Then z = 255 Picture2.PSet ((i - 1) * 15 + 1, (j - 1) * 15 + 1), RGB(z, z, z) Next j Next i End Sub 2. Eksekusi program dan cetak citra hasil eksekusi.

III. Deteksi tepi dengan metode Sobel. 1. Buatlah project baru seperti terlihat pada gambar berikut ini :

2. Tulislah kode program untuk form1, DivListBox1, DirListBox1, dan FileListBox1 dengan kode berikut : Private Sub Dir1_Change()

File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) End Sub Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" End Sub 3. Tulislah kode berikut ini untuk deteksi tepi dengan metode Sobel pada CommandButton1. Private Sub Command1_Click() Dim x(500, 500) As Integer 'RGB to Gray n1 = 0 For i = 1 To Picture1.ScaleWidth Step 15 n1 = n1 + 1 n2 = 0 For j = 1 To Picture1.ScaleHeight Step 15 warna = Picture1.Point(i, j) r = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) n2 = n2 + 1 x(n1, n2) = Int((r + g + b) / 3) Picture1.PSet (i, j), RGB(x(n1, n2), x(n1, n2), x(n1, n2)) Next j Next i 'Prose filter Prewit dengan Konvolusi For i = 1 To n1

For j = 1 To n2 z1 = 0 z2 = 0 For u1 = -1 To 1 For u2 = -1 To 1 z1 = z1 + h1(u1 + 2, u2 + 2) * x(i + u1, j + u2) z2 = z2 + h2(u1 + 2, u2 + 2) * x(i + u1, j + u2) Next u2 Next u1 z = Int(Abs(z1 + z2)) If z > 255 Then z = 255 Picture2.PSet ((i - 1) * 15 + 1, (j - 1) * 15 + 1), RGB(z, z, z) Next j Next i End Sub 4. Tambahkan kode berikut pada awal program. Dim h1(3, 3) As Single Dim h2(3, 3) As Single 5. Tambahkan kode berikut di form1_Load Private Sub Form_Load() h1(1, 1) = -1: h1(1, 2) = 0: h1(1, 3) = 1 h1(2, 1) = -2: h1(2, 2) = 0: h1(2, 3) = 2 h1(3, 1) = -1: h1(3, 2) = 0: h1(3, 3) = 1 For i = 1 To 3 For j = 1 To 3 h2(i, j) = h1(i, j) Next j Next i End Sub 6. Eksekusi program dan cetak hasilnya.

TUGAS
1. Dengan menggunakan program deteksi tepi dengan metode Robet di atas, lakukan deteksi tepi untuk gambar-gambar pemandangan, wajah dan sidik jari. Perhatikan bagaimana hasilnya, apa yang dapat saudara simpulkan? 2. Dengan menggunakan program deteksi tepi dengan metode Prewit di atas, lakukan deteksi tepi untuk gambar-gambar pemandangan, wajah dan sidik jari. Perhatikan bagaimana hasilnya, apa yang dapat saudara simpulkan? 3. Dengan menggunakan program deteksi tepi dengan metode Sobel di atas, lakukan deteksi tepi untuk gambar-gambar pemandangan, wajah dan sidik jari. Perhatikan bagaimana hasilnya, apa yang dapat saudara simpulkan? 4. Jelaskan perbedaan dari hasil masing-masing metode diatas. 5. Dengan menggunakan program deteksi tepi Sobel, bagaimana jika filternya diganti dengan filter Laplacian yang menggunakan kernel

JAWABAN
1. Metode Robert

Pemandangan

Wajah

Sidik Jari Pada beberapa gambar diatas bahwa deteksi tepi dengan Metode Robert dapat mendeteksi pada gambar pemandangan dan gambar wajah saja. Ini dikarenakan metode ini memiliki prinsip teknik differensial horisontal dan vertikal dan kemudian ditambah proses biner setelah melakukan differensial. Ini menekankan pada pemeriksaan pada kedua arah diagonal, vertikal dan horisontal, sehingga gambar sidik jari tidak dapat terdeteksi.

2. Metode Prewit

Pemandangan

Wajah

Sidik Jari Terlihat pada gambar diatas bahwa semua gambar terdeteksi. Ini karena metode Prewit memiliki prinsip yang menggunakan High Pass Filter (HPF) yang diberi satu angka nol penyangga, serta menggunakan matrik 3x3. Metode ini tidak meletakkan penekanan atau pembobotan pada piksel-piksel yang lebih dekat dengan titik pusat.

3. Metode Sobel

Pemandangan

Wajah

Sidik Jari Pada gambar diatas bahwa semua gambar terdeteksi. Ini karena metode Prewit menggunakan proses dari konvolusi yang telah ditetapkan terhadap citra yang terdeteksi.

4. Perbedaan antara metode Robert, metode Prewit, dan metode Sobel. Metode Robert menggunakan metode gabungan antara differensial arah vertikal dan differensial arah horizontal yang kemudian dilakukan penambahan proses biner setelah dilakukan differensial. Metode Prewit menggunakan metode hasil pengembangan dari metode Robert yang menggunakan filter High Pass Filter (HPF) yang mengambil prinsip dari fungsi Laplacian. Metode Sobel menggunakan metode hasil pengembangan dari metode Robert yang menggunakan filter High Pass Filter (HPF) yang mengambil prinsip dari fungsi Laplacian dan Gaussian. 5. Ubah bagian coding seperti coding di bawah ini : Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" h1(1, 1) = -1: h1(1, 2) = -1: h1(1, 3) = -1 h1(2, 1) = -1: h1(2, 2) = 8: h1(2, 3) = -1 h1(3, 1) = -1: h1(3, 2) = -1: h1(3, 3) = -1 For i = 1 To 3 For j = 1 To 3 h2(i, j) = h1(i, j) Next j Next i End Sub

You might also like