Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 8 – Konvolusi dan Image Filtering.  Gambar selalu berada pada frekwensi rendah, hal ini karena setiap titik pada gambar mempunyai banyak kemiripan.

Presentasi serupa


Presentasi berjudul: "Pertemuan 8 – Konvolusi dan Image Filtering.  Gambar selalu berada pada frekwensi rendah, hal ini karena setiap titik pada gambar mempunyai banyak kemiripan."— Transcript presentasi:

1 Pertemuan 8 – Konvolusi dan Image Filtering

2  Gambar selalu berada pada frekwensi rendah, hal ini karena setiap titik pada gambar mempunyai banyak kemiripan warna dengan titik-titik tetangganya.  Bila suatu gambar menunjukkan frekwensi tinggi maka pada gambar tersebut banyak titik yang nilai gray-scalenya (warna) yang berbeda jauh dengan titik-titik tetangganya. Frekwensi rendah Frekwensi Tinggi

3  Untuk membuang titik yang berbeda dengan titik-titik tetangganya (proses reduksi noise) maka dilakukan Low- Pass Filter (LPF), suatu bentuk filter yang mengambil data pada frekwensi rendah dan membuang data pada frekwensi tinggi  Untuk mempertahankan titik yang berbeda dengan titik-titik tetangganya (proses deteksi tepi) maka dilakukan High-Pass Filter (HPF), suatu bentuk filter yang mengambil data pada frekwensi tinggi dan membuang data pada frekwensi rendah.  Untuk mempertahankan titik yang dekat dengan titik- titik tetangganya, dan titik yang berbeda dengan titik- titik tetangganya (sharperness) maka dilakukan Band Pass Filter, yang berguna mempertahankan frekwensi rendah dan tinggi yang tidak terlalu rendah dan tinggi.

4 Hasil gambar yang difilter Y dari gambar asal X dan filter dengan kernel H dapat dihitung dengan: Konvolusi

5 Konvolusi dari H dan X didefinisikan dengan: Dimana (x,y) adalah posisi filter dan (Tx,Ty) adalah titik yang difilter

6 H = X =

7

8  Buatlah form dengan tiga buah button, dua buah pictureBox dan sebuah OpenFileDialog.  Aturlah form seperti gambar berikut.

9  Ubah text pada Button1 menjadi “Load”, Button2 menjadi “GrayScale”, Button3 menjadi “Histogram Equalization”.  Aturlah picture box dengan mode StretchImage.  Kemudian tambahkan dua object bitmap. Bitmap objBitmap1; Bitmap objBitmap2;

10  Double klik pada button1 dan tambahkan program berikut.  Program tersebut bertujuan untuk melakukan load file image dari komputer. DialogResult d = openFileDialog1.ShowDialog(); if(d == DialogResult.OK) { objBitmap1 = new Bitmap(openFileDialog1.FileName); pictureBox1.Image = objBitmap1; }

11

12  Double klik pada button2 dan tambahkan program berikut. float[] a=new float[5]; a[0] = (float)0.2; a[1] = (float)0.2; a[2] = (float)0.2; a[3] = (float)0.2; a[4] = (float)0.2; objBitmap2 = new Bitmap(objBitmap1); for(int x=1;x

13  Lanjutan dari program pada button 2 int x1 = (w1.R + w1.G + w1.B) / 3; int x2 = (w2.R + w2.G + w2.B) / 3; int x3 = (w3.R + w3.G + w3.B) / 3; int x4 = (w4.R + w4.G + w4.B) / 3; int xg = (w.R + w.G + w.B) / 3; int xb = (int)(a[0] * xg); xb = (int)(xb + a[1] * x1 + a[2] * x2 + a[3] * x3 + a[4] * x4); if (xb < 0) xb = 0; if (xb > 255) xb = 255; Color wb = Color.FromArgb(xb,xb,xb); objBitmap2.SetPixel(x,y,wb); } pictureBox2.Image = objBitmap2;

14

15  Double klik pada button3 dan tambahkan program berikut. float[] a = new float[10]; a[1] = (float)0.1; a[2] = (float)0.1; a[3] = (float)0.1; a[4] = (float)0.1; a[5] = (float)0.2; a[6] = (float)0.1; a[7] = (float)0.1; a[8] = (float)0.1; a[9] = (float)0.1; objBitmap2 = new Bitmap(objBitmap1); for (int x = 1; x < objBitmap1.Width - 1; x++) for (int y = 1; y < objBitmap1.Height - 1; y++) {

16  Lanjutan program pada button3. Color w1 = objBitmap1.GetPixel(x - 1, y-1); Color w2 = objBitmap1.GetPixel(x - 1, y); Color w3 = objBitmap1.GetPixel(x-1, y + 1); Color w4 = objBitmap1.GetPixel(x, y - 1); Color w5 = objBitmap1.GetPixel(x, y); Color w6 = objBitmap1.GetPixel(x, y + 1); Color w7 = objBitmap1.GetPixel(x+1, y - 1); Color w8 = objBitmap1.GetPixel(x+1, y ); Color w9 = objBitmap1.GetPixel(x+1, y + 1); int x1 = (w1.R + w1.G + w1.B) / 3; int x2 = (w2.R + w2.G + w2.B) / 3; int x3 = (w3.R + w3.G + w3.B) / 3; int x4 = (w4.R + w4.G + w4.B) / 3;

17  Lanjutan program pada button3. int x5 = (w5.R + w5.G + w5.B) / 3; int x6 = (w6.R + w6.G + w6.B) / 3; int x7 = (w7.R + w7.G + w7.B) / 3; int x8 = (w8.R + w8.G + w8.B) / 3; int x9 = (w9.R + w9.G + w9.B) / 3; int xb = (int)(a[1] * x1 + a[2] * x2 + a[3] * x3); xb = (int)(xb + a[4] * x4 + a[5] * x5 + a[6] * x6); xb = (int)(xb + a[7] * x7 + a[8] * x8 + a[9] * x9); if (xb < 0) xb = 0; if (xb > 255) xb = 255; Color wb = Color.FromArgb(xb, xb, xb); objBitmap2.SetPixel(x, y, wb); } pictureBox2.Image = objBitmap2;

18

19


Download ppt "Pertemuan 8 – Konvolusi dan Image Filtering.  Gambar selalu berada pada frekwensi rendah, hal ini karena setiap titik pada gambar mempunyai banyak kemiripan."

Presentasi serupa


Iklan oleh Google