Minggu, 30 Juni 2013

Pengolahan citra

Aplikasi Pengolahan Citra pada VB.NET

Sebenarnya saya kurang paham betul dengan pembuatan rotasi - rotasi pada citra gambar VB.NET ini, Tapi Mari  kita belajar membuatnya ;;;;;----->
langkah pertama , buat Desainnya dulu seperti ini :





























Untuk Listing Programnya silakan masukkan seperti ini :
Public Class Form1
    Dim gambar As Bitmap
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
                        vH = 0
                        vM = 0
                        vB = 0
                    Else
                        vM = 255
                        vH = 255
                        vB = 255
                    End If
                    .SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic1.Image = gambar
                Pic2.Refresh()
            Next
        End With
    End Sub
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
        gambar = New Bitmap(Pic1.Image)
    End Sub
Private Sub NegativeImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegativeImageToolStripMenuItem.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
                Pic1.Image = gambar
                Pic2.Refresh()
            Next
        End With
    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 BrightnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrightnessToolStripMenuItem.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 RotateLeftToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateLeftToolStripMenuItem.Click
        Dim gambar2 = New Bitmap(Pic2.Image)
        gambar2 = New Bitmap(Pic2.Image)
        Pic2.Image = gambar2
        gambar2.RotateFlip(RotateFlipType.RotateNoneFlipX)
        Pic2.Image = gambar2
    End Sub
Private Sub RotateRightToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateRightToolStripMenuItem.Click
        Dim gambar2 = New Bitmap(Pic2.Image)
        gambar2 = New Bitmap(Pic2.Image)
        Pic2.Image = gambar2
        gambar2.RotateFlip(RotateFlipType.RotateNoneFlipY)
        Pic2.Image = gambar2
    End Sub
 Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
        Dim gambar2 = New Bitmap(Pic2.Image)
        gambar2 = New Bitmap(Pic2.Image)
        Pic2.Image = gambar2
        gambar2.RotateFlip(RotateFlipType.Rotate90FlipX)
        Pic2.Image = gambar2

    End Sub
Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.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
Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
        OFD.Filter = "MBP|*.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 SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.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.Bmp)
        End If
    End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
        Dim gambar2 = New Bitmap(Pic2.Image)
        gambar2 = New Bitmap(Pic2.Image)
        Pic2.Image = gambar2
        gambar2.RotateFlip(RotateFlipType.Rotate270FlipX)
        Pic2.Image = gambar2
    End Sub
 Private Sub HijauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HijauToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G + 10
                vB = gambar2.GetPixel(Pc, Pb).B
                If vH >= 255 Then vH = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub MerahToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MerahToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R + 10
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B
                If vM >= 255 Then vM = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub BiruToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BiruToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B + 10
                If vB >= 255 Then vB = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub
 Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        End
    End Sub

Tampilan BINER : 

















Tampilan Brightness :

















Tampilan Brightness 180 derajat


















TampilanGrayscale :


















Tampilanke warna Hijau:

















Tampilan Warna Merah :

Tampilan ke warna:Negatif

















TampilanNegatif dgn Rotasi 180 derajat

















Tampilandengan Rotasi 90 derajat

















Tampilan dengan rotasi 270 derajat

















Tampilan DEngan Rotasi 180 derajat

















Tampilan Rotasi Kiri (Left)

















Tampilan Rotasi Kanan (Right)

Tidak ada komentar:

Posting Komentar