Professional Documents
Culture Documents
Tujuan praktikum
1. Dapat melakukan operasi pengolahan dasar dari metode robert
2. Dapat melakukan operasi pengolahan dasar dari metode prewitt
3. Dapat melakukan operasi pengolahan dasar dari metode sobel
4. Dapat melakukan operasi pengolahan dasar dari metode Laplacian
Poin penting
Proses deteksi
tepi memanfaatkan high pass filter dan urutannya bisa digambarkan
sebagai berikut:
1. Cara membaca file gambar yaitu dengan bantuan komponen openFileDialog. Lalu file diletakkan
dalam variabel bertipe Bitmap. Selanjutnya variabel tersebut ditampilkan menggunakan
komponen pictureBox.
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
objBitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.Image = objBitmap;
}
2. Mengubah gambar menjadi warna dengan derajat keabuan (grayscale) dengan ditampilkan pada
picturebox kedua. Terdapat perbedaan grayscale pula pada nilai masukan pada RGB yang
mempengaruhi bayangan dari gambar grayscale perubahan dari gambar aslinya dengan komposisi
RGB yang berbeda.
objBitmap1 = new Bitmap(objBitmap);
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap1.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
int r = w.R;
int g = w.G;
int b = w.B;
4. Metode Prewitt merupakan metode deteksi tepi dengan memanfaatkan filter kernel Pengembangan
dari gradient operator dengan menggunakan 2 mask (horizontal dan vertikal). Pada operator ini
kekuatan gradient ditinjau dari sudut pandang horizontal dan vertikal (memperhatikan titik disekitar
pada posisi horizontal dan vertikal). Selain itu metode Prewitt merupakan pengembangan metode
Robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini
mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF.
private void button4_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 1; x < objBitmap.Width-1; x++)
for (int y = 1; y < objBitmap.Height-1; y++)
{
5. Metode Sobel merupakan pengembangan metode robert dengan menggunakan filter HPF yang
diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian
yang dikenal sebagai fungsi untuk membangkitkan HPF.
private void button5_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 1; x < objBitmap.Width - 1; x++)
for (int y = 1; y < objBitmap.Height - 1; y++)
{
Color w1 = objBitmap.GetPixel(x - 1, y - 1);
Color w2 = objBitmap.GetPixel(x - 1, y);
Color w3 = objBitmap.GetPixel(x - 1, y + 1);
Color w4 = objBitmap.GetPixel(x, y - 1);
Color w5 = objBitmap.GetPixel(x, y);
}
pictureBox2.Image = objBitmap1;
}
6. Metode Sobel merupakan metode deteksi tepi dengan memanfaatkan filter kernel sebagai berikut.
Kernel filter Laplacian tidak memerlukan filter horisontal dan filter vertikal. Filter ini adalah
turunan dari filter Gaussian.
private void button6_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 1; x < objBitmap.Width - 1; x++)
for (int y = 1; y < objBitmap.Height - 1; y++)
{
Color w1 = objBitmap.GetPixel(x - 1, y - 1);
Color w2 = objBitmap.GetPixel(x - 1, y);
Color w3 = objBitmap.GetPixel(x - 1, y + 1);
Color w4 = objBitmap.GetPixel(x, y - 1);
Color w5 = objBitmap.GetPixel(x, y);
Color w6 = objBitmap.GetPixel(x, y + 1);
Color w7 = objBitmap.GetPixel(x + 1, y - 1);
Color w8 = objBitmap.GetPixel(x + 1, y);
Color w9 = objBitmap.GetPixel(x + 1, y + 1);
int x1 = w1.R;
int x2 = w2.R;
int x3 = w3.R;
int x4 = w4.R;
int x5 = w5.R;
int x6 = w6.R;
int x7 = w7.R;
int x8 = w8.R;
int x9 = w9.R;
int xb = (int)(x1 - 2 * x2 + x3 - 2 * x4 + 4 * x5 - 2 * x6 + x7-2*
x8 + x9);
if (xb < 0) xb = -xb;
if (xb > 255) xb = 255; Color wb = Color.FromArgb(xb, xb, xb);
objBitmap1.SetPixel(x, y, wb);
}
pictureBox2.Image = objBitmap1;
}
Program lengkap
Berikut adalah listing program:
using System;
using System.Drawing;
using System.Linq; using
System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace image10
{
public partial class Form1 : Form
{
Bitmap objBitmap;
Bitmap objBitmap1;
public Form1()
{
InitializeComponent();
}
DialogResult d = openFileDialog1.ShowDialog(); if (d ==
DialogResult.OK)
int x3 = w3.R;
int x4 = w4.R;
int xb = (int)((x2 - x1) + (x4 - x3));
if (xb < 0) xb = -xb;
if (xb > 255) xb = 255;
int x9 = w9.R;
int x9 = w9.R;
int xb = (int)(x1 - 2 * x2 + x3 - 2 * x4 + 4 * x5 - 2 * x6 + x7-2 * x8 +
x9);
if (xb < 0) xb = -xb;
Tampilan program
Berikut adalah tampilan
2. Metode prewitt
3. Metode sobel
4. Metode laplacian
5. Proses invers