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