Program VB Net Untuk Mengolah Citra

Pengambilan nilai citra, yaitu RGB dari pixel pixel citra sudah pernah dibahas pada artikel Program VB Net mengambil nilai RGB Citra sebelumnya. Dan saya yakin anda sudah memahami pemahaman Red Green Blue pada Citra dengan membaca artikel tersebut.

Untuk itu pada artikel berikut saya akan membahas program VB NET untuk mengolah citra. Citra yang akan dioleh merupakan citra yang berwarna menjadi citra Grayscale ataupun citra negatif.

Untuk mengolah citra menjadi citra grayscale bisa dilihat dengan rumus berikut :

    RataRata = (R + G + B) / 3

dengan menerapkan RataRata di seluruh RGB pada pixel citra maka akan menjadi citra asli menjadi grayscale.

Sedangkan untuk membuat citra menjadi negatif bisa dilihat dengan rumus berikut :

    R = 255 - R
    G = 255 - G
    B = 255 - B
   
    If R < 0 Then R = 0
    If G < 0 Then G = 0
    If B < 0 Then B = 0


Nah bagaimana mengambil nilai RGB bisa anda baca pada artikel Program VB Net mengambil nilai RGB Citra

Silahkan design form program vb untuk mengolah citra seperti bentuk di bawah ini.

Untuk properti SizeMode : Normal pada PictureBox1 dan Picturebox2 diganti menjadi StretchImage, sehingga gambar akan menjadi full saat di buka

Bagaimana merancang menu pada program VB Net , silahkan baca artikel merancang menu pada program VB Net .

Berikut listing program program VB Net untuk mengolah citra

Public Class Citra
    Dim gambar As Bitmap
    Dim Rt, vM, vH, vB As Double

    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        End
    End Sub

    Private Sub OpenCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenCitraToolStripMenuItem.Click
        OpenFileDialog1.Filter = "BMP|*.bmp|JPG|*.Jpg"
        OpenFileDialog1.ShowDialog()

        If OpenFileDialog1.FileName = "" Then Exit Sub
        PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
        gambar = New Bitmap(PictureBox1.Image)
        Me.Text = "Citra : " & gambar.Height & " x " & gambar.Width & " pixel"
    End Sub

    Private Sub GrayscaleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrayscaleToolStripMenuItem.Click
        PictureBox2.Image = gambar
        For Pc = 0 To gambar.Height - 1
            For Pb = 0 To gambar.Width - 1
                vM = gambar.GetPixel(Pb, Pc).R
                vH = gambar.GetPixel(Pb, Pc).G
                vB = gambar.GetPixel(Pb, Pc).B
                Rt = (vM + vH + vB) / 3
                gambar.SetPixel(Pb, Pc, Color.FromArgb(Rt, Rt, Rt))
            Next
            PictureBox2.Invalidate()
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub NegatifToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegatifToolStripMenuItem.Click
        PictureBox2.Image = gambar
        For Pc = 0 To gambar.Height - 1
            For Pb = 0 To gambar.Width - 1
                vM = 255 - gambar.GetPixel(Pb, Pc).R
                vH = 255 - gambar.GetPixel(Pb, Pc).G
                vB = 255 - gambar.GetPixel(Pb, Pc).B
                If vM < 0 Then vM = 0
                If vH < 0 Then vH = 0
                If vB < 0 Then vB = 0
                gambar.SetPixel(Pb, Pc, Color.FromArgb(vM, vH, vB))
            Next
            PictureBox2.Invalidate()
            PictureBox2.Refresh()
        Next
    End Sub

End Class


Hasil program lihat gambar dibawah ini.

Pilih File Open Citra, dan silahkan pilih citra yang akan tes

Untuk melihat hasil grayscale citra pilih File | Citra Grayscale
Program VB Net Untuk Mengolah Citra 
 Untuk melihat hasil negafit citra pilih File | Citra Negatif 
Program VB Net Untuk Mengolah Citra 
Sumber : Mesran.net

Back to top