Proses Konversi Citra Asli menjadi Grayscale Proses Threshold

4.2 Penjelasan Program

Aplikasi ini dibuat untuk mendeteksi jenis penyakit pada daun cabe serta memberikan solusi penanganannya. Yang dibutuhkan dalam menjalankan aplikasi ini adalah citra. Citra tersebut akan diproses melewati 4 tahapan image processing. Tahap pertama citra diubah menjadi citra grayscale. Tahap kedua, citra grayscale diubah menjadi citra hitam-putih dengan threshold. Tahap selanjutnya yaitu mendeteksi tepi dengan metode Laplacian of Gaussian. Setelah mendeteksi tepi, maka pada tahap akhir dilakukan pencocokan nilai matriks citra dengan nilai String matriks pembanding untuk menentukan jenis penyakit yang diderita.

4.3 Implementasi Image Processing

Untuk mendapatkan hasil deteksi tepi yang baik, dilakukan beberapa tahapan image processing.

4.3.1 Proses Konversi Citra Asli menjadi Grayscale

Dalam aplikasi ini, pada tahap awal sebelum melakukan pendeteksian tepi, citra input akan diubah terlebih dahulu menjadi citra grayscale keabuan. Tahap awal proses grayscale dimulai dengan mencari atau meghitung nilai warna RGB, yaitu nilai Red merah, Green hijau, dan Blue biru dari setiap pixel x,y pada citra input. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Setelah mendapatkan nilai RGB, maka nilai tersebut akan dimasukkan ke dalam rumus sebagai berikut : Y= R+G+B 3 Keterangan : Y = Nilai grayscale; R = Nilai red; G = Nilai green; B = Nilai Blue. Berikut source code untuk mengkonversi citra ke grayscale: int iImageWidth, iImageHeight,red,green,blue,gray,warna; Image1-Canvas-Draw0,0,jpgImage-Graphic; ImageWidth = Image1-Width; iImageHeight = Image1-Height; for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ { for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++ { warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; red = GetRValuewarna; green = GetGValuewarna; blue = GetBValuewarna; gray = red+green+blue3; COLORREF ClrMine = RGBgray, gray, gray; Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]= ClrMine; } } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4.3.2 Proses Threshold

Setelah citra input diubah menjadi citra grayscale, maka tahap selanjutnya citra akan mengalami proses thresholding. Proses threshold merupakan proses di mana citra akan diubah menjadi citra hitam-putih. Selama proses thresholding, individu pixel dalam gambar ditandai sebagai objek pixel jika nilai objek lebih besar dari beberapa nilai threshold asumsi benda menjadi lebih terang daripada latar belakang dan jika sebaliknya maka ditandai sebagai “latar belakang” pixel. Konvensi ini dikenal sebagai ambang atas. Ada juga yang disebut nilai ambang bawah. Apabila nilai pixel berada diantara ambang atas dan bawah, maka pixel ditandai sebagai “objek” sehingga disebut threshold inside. Threshold outside merupakan kebalikan dari threshold inside dimana nilai pixel berada diluar ambang batas Shapiro, et. 2001 al: 83. Biasanya, sebuah pixel objek diberi nilai 1 sementara piksel latar belakang diberikan nilai ”0”. Pada akhirnya, suatu citra biner dibentuk oleh pixel warna putih atau hitam, tergantung pada label pixel. Parameter kunci dalam proses thresholding adalah pilihan dari nilai ambang batas. Ada 2 cara melakukan Threshol, yaitu threshold statis dan threshold dinamis. Threshold statis, pengguna dapat secara Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. manual memilih nilai ambang batas. Sedangkan threshold dinamis terdapat algoritma menghitung ambang batas secara otomatis. Threshold yang digunakan dalam aplikasi ini adalah threshold dinamis. Apabila nilai pixel lebih besar dari nilai ambang batas maka pixel akan berwarna putih, sebaliknya apabila nilai pixel lebih kecil maka pixel akan berwarna hitam. Salah satu metode Threshold dinamis yang relatif sederhana dan tahan terhadap noise adalah metode iteratif. Berikut algoritma metode iteratif : a. Ambang awal T dipilih, hal ini dapat dilakukan secara acak atau sesuai dengan metode lainnya yang diinginkan. b. Gambar akan tersegmentasi ke dalam piksel objek dan latar belakang seperti diuraikan di atas, menciptakan dua set:  G 1 = {f m, n: f m, n T} piksel obyek  G 2 = {f m, n: f m, n =T} piksel latar belakang catatan, f m, n adalah nilai dari pixel yang terletak di kolom m, baris n c. Rata-rata masing-masing set dihitung.  m1 = nilai rata-rata 1 dari G 1  m2 = nilai rata-rata 2 dari G 2 d. Ambang batas baru dibuat yaitu rata-rata m 1 dan m 2 : T = m 1 + m 2 2 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. e. Kembali ke langkah dua, sekarang menggunakan ambang batas baru dihitung pada langkah empat, terus mengulanginya sampai ambang baru cocok dengan satu sebelum itu yaitu sampai konvergensi telah tercapai. Setelah itu akan didapat nilai ambang batas akhir yang akan menentukan pixel mana yang diubah menjadi hitam, dan mana yang menjadi putih. int iImageWidth, iImageHeight,pixel,T=128,t=0,jmlNNol,jmlNSatu,jmlNol,jmlSatu,warna,gray,m1 ,m2; iImageWidth = Image2-Width; iImageHeight = Image2-Height; do { t=T; jmlNol =1 ; jmlNNol =0; jmlSatu =1; jmlNSatu =0; for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ { for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++ { warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; gray = GetRValuewarna+GetGValuewarna+GetBValuewarna3; if gray T { jmlNol +=1; jmlNNol +=gray; } else { jmlSatu +=1; jmlNSatu +=gray; } } } if jmlNol1 jmlNol-=1; ifjmlSatu1 jmlSatu-=1; m1 = jmlNNoljmlNol; m2 = jmlNSatujmlSatu; T = m1+m22; }whilet=T; Edit1-Text = T; Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4.3.3 Implementasi Metode Laplacian of Gaussian