Tuesday, May 8, 2012

Mengubah gambar berwarna menjadi Grayscale di Visual Basic


Artikel kali ini mungkin akan berguna buat yang mengambil materi tentang pengolahan citra digital, yaitu mengubah gambar berwarna ke grayscale. Mengubah gambar berwarna menjadi grayscale ddengan aplikasi editor gambar (Photoshop, GIMP) tentu mudah tapi yang akan diperlihatkan disini adalah bagaimana caranya mengubah gambar berwarna menjadi grayscale.
Potongan kode dibawah akan membuat objek dari Bitmap dan diinisialisasikan dari gambar yang telah diinputkan. Inisialisasi ini akan menyesuaikan ukuran Bitmap dan warnanya.
Selanjutnya kode ini akan melakukan perulangan terhadap setiap pixel, menghitung rata – rata dari komponen Red, Green dan Blue kemudian menggunakan hasilnya untuk mengisi nilai baru pixel tersebut. Setelah kode ini selesai menghitung seluruh pixel yang ada, maka kode ini akan mengubah gambar pada properti Image di Picture Box ke gambar yang telah diubah tadi.
 
Private Sub btnUbahGrayscale_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnGo.Click
    Dim bm As New Bitmap(picGambar.Image)
    Dim X As Integer
    Dim Y As Integer
    Dim pixelBaru As Integer
    For X = 0 To bm.Width - 1
        For Y = 0 To bm.Height - 1
            pixelBaru = (CInt(bm.GetPixel(X, Y).R) + _
                   bm.GetPixel(X, Y).G + _
                   bm.GetPixel(X, Y).B) \ 3
            bm.SetPixel(X, Y, Color.FromArgb(pixelBaru, pixelBaru, pixelBaru))
        Next Y
    Next X
    picGambar.Image = bm
End Sub

No comments:

Post a Comment