1. Citra Grayscale
2. Citra Biner
3. Citra Rotate 180 derajat
4. Citra Negatif
5. Citra Brightness
Program juga dilengkapi dengan menu Open dan Save citra yang akan dan telah di olah.
Berikut design aplikasi sederhana pengolahan citra menggunakan VB Net
Tambahkan komponen menustrip (pada toolbox Menus & Toolbar), OpenFileDialog ( pada toolbox Dialog) dan SaveFileDialog (pada toolbox Dialog)
OpenFileDialog name dirubah menjadi OFD
SaveFileDialog name dirubah menjadi SFD
Isi menu
Listing program pengolahan citra menggunakan VB Net
Public Class Form1
Dim gambar As Bitmap
Private Sub OpenCitraToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
OpenCitraToolStripMenuItem.Click
OFD.Filter = "BMP|*.bmp|JPG|*.Jpg"
OFD.ShowDialog()
If
OFD.FileName = "" Then Exit Sub
PIC1.Image =
Image.FromFile(OFD.FileName)
gambar = New
Bitmap(PIC1.Image)
End Sub
Private Sub SaveCitraToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
SaveCitraToolStripMenuItem.Click
SFD.Filter = "JPG|*.Jpg|BMP|*.bmp"
SFD.ShowDialog()
If
SFD.FileName = "" Then Exit Sub
If
SFD.FilterIndex = 1 Then
gambar.Save(SFD.FileName,
System.Drawing.Imaging.ImageFormat.Jpeg)
End If
If
SFD.FilterIndex = 2 Then
gambar.Save(SFD.FileName,
System.Drawing.Imaging.ImageFormat.Bmp)
End If
End Sub
Private Sub GrayscaleToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
GrayscaleToolStripMenuItem.Click
Dim Pb,
Pc As Integer
Dim Rt,
vM, vH, vB As Double
With
gambar
For
Pb = 0 To .Height - 1
For
Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
Rt = (vM + vH + vB) / 3
.SetPixel(Pc, Pb,
Color.FromArgb(Rt, Rt, Rt))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub NegatifToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
NegatifToolStripMenuItem.Click
Dim Pb,
Pc As Integer
Dim vM,
vH, vB As Double
With
gambar
For
Pb = 0 To .Height - 1
For
Pc = 0 To .Width - 1
vM = 255 - .GetPixel(Pc,
Pb).R
vH = 255 - .GetPixel(Pc,
Pb).G
vB = 255 - .GetPixel(Pc,
Pb).B
If
vM <= 0 Then vM = 0
If
vB <= 0 Then vB = 0
If
vH <= 0 Then vH = 0
.SetPixel(Pc, Pb,
Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub BrigtnessToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
BrigtnessToolStripMenuItem.Click
Dim Pb,
Pc As Integer
Dim vM,
vH, vB As Double
With
gambar
For
Pb = 0 To .Height - 1
For
Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R + 5
vH = .GetPixel(Pc, Pb).G + 5
vB = .GetPixel(Pc, Pb).B + 5
If vM >
255 Then vM = 255
If
vB > 255 Then vB = 255
If
vH > 255 Then vH = 255
.SetPixel(Pc, Pb,
Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub ToolStripMenuItem2_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
ToolStripMenuItem2.Click
gambar = New
Bitmap(Pic1.Image)
End Sub
Private Sub KeluarToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
KeluarToolStripMenuItem.Click
End
End Sub
Private Sub BinerToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
BinerToolStripMenuItem.Click
Dim Pb,
Pc As Integer
Dim rata,
vM, vH, vB As Double
With
gambar
For
Pb = 0 To .Height - 1
For
Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
rata = (vM + vH + vB) / 3
If
(rata < 128) Then
vM = 0
vH = 0
vB = 0
Else
vM = 255
vH = 255
vB = 255
End
If
.SetPixel(Pc, Pb,
Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub RotateToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
RotateToolStripMenuItem.Click
Dim Pb,
Pc As Integer
Dim vM,
vH, vB As Double
Dim
gambar3 As Bitmap = New
Bitmap(Pic1.Image)
With
gambar
For
Pb = .Height - 1 To 0 Step
-1
For
Pc = .Width - 1 To 0 Step
-1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
gambar3.SetPixel(.Width - 1
- Pc, .Height - 1 - Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar3
Pic2.Refresh()
Next
End With
gambar = gambar3
End Sub
End Class
Hasil program
Citra Biner
Citra Negatif
Citra Rotate 180 derajat
Demikianlah Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net
Ijin sedot pak .......
ReplyDeletehttp://pri-share.blogspot.com/
Silahkan, jangan lupa share dan link nya ya :)
ReplyDeleteNumpang tanya pak,
ReplyDeletedari sini ane tertarik untuk mengangkat judul tugas akhir
dari susunan program di atas,
kira - kira ada gak pak metode yang bapak gunakan,
seperti misalnya metode gaussian, atau metode citra lainnya gitu pak??
terimakasih sebelumnya
wah keren banget pak artikelnya, trus gimana kalau kami ingin membuat program tersebut bisa membaca nilai pixel citra yang ditampilkannya, baik itu citra yang berwarna maupun citra yang hitam-putih, yang nilainya nanti muncul pada textboxt.
ReplyDeleteTerimakasih pak
makasih gan. disini juga ada pemrograman citra tapi berbasis web silakan kunjungi blog ane gan di http://world-pemrograman.blogspot.com
ReplyDelete