Minggu, 21 November 2010

Pengolahan Citra

NAMA KELOMPOK:
ARDIYANSYAH (50407136)
NOVAN HANDI ADITYA (50407624)
KELAS : 4IA05
PENGOLAHAN CITRA (EDGE DETECTION)

Algoritma edge detection adalah algoritma yang cukup populer penggunaannya dalam pengolahan citra. Salah satu alasannya adalah ketebalan edge yang bernilai satu piksel yang dimaksudkan untuk melokalisasi posisi edge pada citra secara sepresisi mungkin.

Algoritma canny edge detection secara umum (detilnya tidak baku atau bisa divariasikan) beroperasi sebagai berikut :

1. Penghalusan untuk mengurangi dampak noise terhadap pendeteksian edge
2. Menghitung potensi gradien citra
3. non-maximal supression dari gradien citra untuk melokalisasi edge secara presisi
4. hysteresis thresholding untuk melakukan klasifikasi akhir


Penghalusan citra

Biasanya teknik yang digunakan pada tahap ini adalah Gaussian Blur. Proses Gaussian Blur dapat dilakukan terhadap citra secara keseluruhan (hasil akhir berupa 1 citra baru), atau dilakukan terpisah (hasil akhir berupa dua buah citra yaitu blur horizontal dan vertikal). Hasil dari gaussian blur akan digunakan dalam langkah selanjutnya yaitu menentukan potensi gradien citra.

Menghitung potensi gradien citra

Gradien merupakan operator yang paling mendekati definisi dari sebuah edge. Oleh sebab itu dalam pengolahan citra, operator berbasis turunan menjadi materi pengantar. Ada dua buah operator yang ada dalam aplikasi ini yaitu operator Sobel dan Kirsch. Kedua operator ini mewakili dua buah pendekatan yang memiliki landasan ide yang berbeda dalam menghitung gradien. dibawah ini adalah contoh dari operator sobel dan Kirsch:
  • operator sobel

Peninjauan pengaturan pixel di sekitar pixelnya (x,y) adalah :

Operator sobel adalah magnitudo dari gradien yang dihitung dengan :

Dimana dalam hal ini turunan parsial dihitung dengan :

Dengan konstanta c = 2. Dalam bentuk mask, sy dan sx dapat dinyatakan sebagai :

Arah tepi dihitung dengan persamaan :

Berikut adalah contoh penggunaan operator sobel . Konvolusi pertama dilakukan terhadap pixel yang bernilai 1 (titik pusat mask) :

Nilai 18 pada citra hasil konvolusi didapatkan dengan perhitungan :

  • operator kirsch

Operator dihitung sebagai berikut untuk arah dengan perbedaan 45°:

 h_{n, m} = \rm {max}_{z=1, \ldots ,8}\sum_{i=-1}^{1}\sum_{j=-1}^{1}g_{ij}^{(z)}\cdot f_{n+i,m+j}

dimana arah kernel

 \mathbf{g^{(1)}} = \begin{bmatrix}  +5 & +5 & +5 \\ -3 &  0 & -3 \\ -3 & -3 & -3  \end{bmatrix},\  \mathbf{g^{(2)}} = \begin{bmatrix}  +5 & +5 & -3 \\ +5 &  0 & -3 \\ -3 & -3 & -3  \end{bmatrix},\  \mathbf{g^{(3)}} = \begin{bmatrix}  +5 & -3 & -3 \\ +5 &  0 & -3 \\ +5 & -3 & -3  \end{bmatrix},\  \mathbf{g^{(4)}} = \begin{bmatrix}  -3 & -3 & -3 \\ +5 &  0 & -3 \\ +5 & +5 & -3  \end{bmatrix}

dan sebagainya.

Pada langkah menghitung potensi gradien citra ada dua buah informasi yang dibutuhkan yaitu kekuatan edge (edge strength/magnitude), dan arah edge (edge direction/orientation). Operator sobel memanfaatkan dua buah template edge pada dua arah tegak lurus (horizontal dan vertikal) dan menghitung arah edge dari arctangent kedua nilai tersebut. Lain halnya dengan operator Kirsch yang menggunakan template sebanyak delapan yang mewakili 8 arah sehingga orientasi edge dapat ditunjukkan oleh template dengan respon magnitudo terbesar.

Non-maximal Supression

Hasil penerapan operator gradien untuk menghitung potensi gradien di tahap sebelumnya tidak memberi informasi secara spesifik tentang lokasi dari edge yang dicari. Alternatifnya adalah menggunakan operator zero-crossing yang digunakan oleh algoritma deteksi Marr-Hildreth. Non-maximal supression bertujuan membuang potensi gradien di suatu piksel dari kandidat edge jika piksel tersebut bukan merupakan maksimal lokal pada arah edge di posisi piksel tersebut (di sinilah arah gradien diperlukan).

hysteresis thresholding

Hasil dari langkah non-maximal suppression adalah citra yang berisi kandidat edge serta intensitas dari kekuatan edge di posisi piksel tersebut. Langkah terakhir adalah thresholding atau klasifikasi tiap piksel apakah termasuk dalam kategori piksel edge atau tidak. Pada tahap ini bisa saja menggunakan threshold yang berdasarkan pada satu nilai tertentu. Namun pemilihan threshold yang hanya menggunakan satu nilai ini memiliki keterbatasan yaitu adanya kemungkinan piksel yang hilang padahal sebetulnya meruapakan piksel edge (false-negative) ataupun dimasukkannya piksel yang sebetulnya merupakan noise sebagai piksel edge (false-positive). Oleh sebab itu dalam melakukan klasifikasi tidak hanya diperlukan intensitas dari kekuatan edge sebagai pertimbangan namun juga topologi (keterhubungan antar-piksel) lokal dari piksel tersebut.

Sederhananya hysteresis thresholding adalah klasifikasi dengan dua buah nilai High-threshold dan Low-Threshold. suatu piksel disahkan sebagai piksel edge jika nilainya lebih besar atau sama dengan High-Threshold (thresholding umum) atau (di sini kaidah tambahannya) jika piksel tersebut memiliki intensitas kekuatan edge yang lebih besar dari Low-Threshold dan terhubung dengan piksel yang nilainya lebih besar dari High-Threshold. Untuk menentukan keterhubungan suatu piksel dengan piksel lainnya digunakan teknik yang dinamakan edge-linking yang pada dasarnya sama dengan flood-fill (di kuliah grafika).
Algoritma yang digunakan dalam pembuatan aplikasi ini adalah algoritma edge detection, dibawah ini adalah tampilan dari aplikasi dari edge detection :
  • Tampilan awal aplikasi pengolahan citra yang kami buat :


  • Proses membuka file gambar
  • Pilih gambar yang ingindiberikan effect edge detection


  • Gambar sudah ditampilkan

  • Pilih effect yang diinginkan, seperti edge detection :



  • Hasil dari edge detection
  • Menu tentang kita adalah keterangan dari aplikasi ini dan juga nama dari kelompok yang membuat aplikasi ini


Instalasi Visual Basic 6.0

Langkah- langkah untuk menginstall VB6 adalah :

  1. Masukan CD-ROM installer , buka isinya kemudian klik ganda pada setup.exe sehingga akan muncul kotak dialog yang pertama kemudian klik next.
  2. Kotak dialog yang kedua akan muncul, baca agreement jika setuju klik I accept the agreement dan klik next.
  3. Kotak dialog yang ketiga akan muncul, isikan nomor produk yang tertera pada VB6 klik next.
  4. Kotak dialog yang keempat akan muncul, klik install Visual Basic 6 klik next, program InstallShield akan bekerja dan muncul kotak dialog kelima yang isinya tentang aturan hukum pembajakan ada aturan main yang harus disepakati bersama yaitu EULA(End User Lisence Agreement) perjanjian antara Microsoft dengan user, klik continue.
  5. Kotak dialog yang keenam akan muncul, secara default VB6 akan akan membuat folder yang terletak C:\Program files\DevStudio\VB. klik ok.
  6. Kotak dialog yang ketujuh akan muncul, menyediakan pilihan setup Typical atau Custom lalu klik ok, nama program VB6 secara default adalahMicrosoft Visual Basic 6 lalu klik continue proses penyalinan hardisk dimuali pada langkah ini .
  7. Setelah proses mencapai 100% akan muncul tampilan yang memberi tahu bahwa proses instalasi akan komplet. Klik ok, VB6 akan meminta untuk merestart windows agar hasil proses instalasi sesuai dengan rencana.
  8. Klik tombol restart windows, lengkaplah proses instalasi VB6. Untuk melihat hasilnya, dari menu Start arahkan pointer ke Microsoft Visual Basic 6, maka akan tampil kelompok dari program Visual Basic 6.

Link DOWNLOAD : KLIK AJA DISINI