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 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
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
Untuk melihat hasil negafit citra pilih File | Citra Negatif
Sumber : Mesran.net