Implementasi Metode Laplacian of Gaussian

4.3.3 Implementasi Metode Laplacian of Gaussian

Dalam aplikasi ini, yang berperan penting adalah penerapan metode Laplacian of Gaussian LoG. Setelah citra mengalami thresholding, maka tahap selanjutnya adalah menerapkan metode LoG ke dalam program. Metode LoG ini digunakan untuk mendeteksi tepi dari citra hitam-putih. Metode modern ini banyak digunakan karena dapat mendeteksi tepi dengan hasil yang lebih baik. Pada metode LoG, citra akan di filter dahulu sehingga akan mengurangi atau menghilangkan noise pada citra sehingga kualitas detail tepi menjadi lebih baiklebih kelihatan. Metode Log ini membentuk suatu cross-zero section yaitu diagram yang memotong sumbu v yang akan menunjukan perbedaan antara daerah gelap dan terang. Dengan demikian, metode ini akan menghasilkan deteksi tepi yang lebih halus dan sudah menghilangkan noise. for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ { for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++ { warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; gray = GetRValuewarna; if grayT gray = 255 ; else gray = 0; COLORREF ClrMine = RGBgray, gray, gray; Image4-Canvas-Pixels[iWhichXPixel][iWhichYPixel]= ClrMine; } } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Matriks yang digunakan dalam metode ini adalah matriks 5x5 sebagai berikut : Gambar 4.1 Matriks 5x5 LoG Matriks ini diinisialisasikan dalam program menggunakan array 2 dimensi. Matriks LoG ini akan dikalikan dengan matriks yang dihasikan oleh proses Threshold pada citra input. Proses ini disebut proses konvolusi. Pada proses konvolusi, matriks 5x5 LoG ditempatkan di atas matriks citra input. Pada Matriks LoG diambil nilai tengahnya yaitu pada LoG [2][2] untuk dikalikan dengan matriks citra [0][0] begitu pula dengan matriks pixel selanjutnya dikalikan sesuai posisi kedua matriks. Pada tahap awal nilai matriks LoG [0][0] sampai [1][1] diabaikan karena terletak diluar citra. Hasil konvolusi ditempatkan pada pixel citra [0][0]. Proses ini akan dilanjutkan dengan bergeser satu pixel ke arah kanan citra untuk mencari nilai konvolusi dari pixel tersebut. Proses ini akan terus berulang sampai pixel paling Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. bawah sebelah kanan. Hasil perkalian kedua matriks akan menghasilkan deteksi tepi yang halus dan sudah menghilangkan noise. for int iWhichXPixel = -2 ; iWhichXPixel iImageWidth-2; iWhichXPixel++ { for int iWhichYPixel = -2 ; iWhichYPixel iImageHeight-2; iWhichYPixel++ { gray_log=0; for int i=0;i5;i++ { for int j=0;j5;j++ { if i+iWhichXPixel 0 || j+iWhichYPixel 0 gray =0; else{ warna = Image4-Canvas-Pixels[iWhichXPixel+i][iWhichYPixel+j]; gray = GetRValuewarna; } gray_log += log[i][j]gray; } } if gray_log 0 gray_log=0; else if gray_log 255 gray_log = 255; COLORREF ClrMine = RGBgray_log, gray_log, gray_log; Image3-Canvas-Pixels[iWhichXPixel+2][iWhichYPixel+2]= ClrMine; } } int iImageWidth, iImageHeight,gray_log,gray,warna; iImageWidth = Image2-Width; iImageHeight = Image2-Height; int log[5][5]; log[0][0]=0; log[0][1]=0; log[0][2]=-1; log[0][3]=0; log[0][4]=0; log[1][0]=0; log[1][1]=-1; log[1][2]=-2; log[1][3]=-1; log[1][4]=0; log[2][0]=-1; log[2][1]=-2; log[2][2]=16; log[2][3]=-2; log[2][4]=-1; log[3][0]=0; log[3][1]=-1; log[3][2]=-2; log[3][3]=-1; log[3][4]=0; log[4][0]=0; log[4][1]=0; log[4][2]=-1; log[4][3]=0; log[4][4]=0; Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4.3.4 Proses Pembandingan String Matriks dan Hasil