Home » » Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

Written By Mesran on Tuesday, 11 June 2013 | 11:35

Masih tentang pengolahan citra nih :). Berikut contoh program aplikasi untuk melakukan pengolahan citra :

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

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
Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

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
Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

Citra Negatif

Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

Citra Rotate 180 derajat

Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

Demikianlah Aplikasi Sederhana Pengolahan Citra Menggunakan VB Net

5 comments:

  1. Ijin sedot pak .......

    http://pri-share.blogspot.com/

    ReplyDelete
  2. Silahkan, jangan lupa share dan link nya ya :)

    ReplyDelete
  3. Numpang tanya pak,
    dari 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

    ReplyDelete
  4. 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.
    Terimakasih pak

    ReplyDelete
  5. makasih gan. disini juga ada pemrograman citra tapi berbasis web silakan kunjungi blog ane gan di http://world-pemrograman.blogspot.com

    ReplyDelete

Terima kasih apabila sudah memberikan komentar yang baik dan sopan :)