Rabu, 15 Januari 2014

Pemograman Citra


Belajar Bahasa Pemograman
Kali ini saya akan memposting tugas mengenai Pemograman Citra
Langsung saja,Kita Mulai yeaa.
1. Buka Microsoft Visual Studio 2008
2. Klik => Create: Project

3. Kemudian Desain Form tersebut dengan Label, TextBox, ComboBox, dan Button yang dapat kita pilih pada properties Toolbox.

4. Kemudian ini dia listing programnya :
Public Class Form1
    Dim gambar2 As Bitmap
    Private Sub Grayscale_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grayscale.Click
        Dim Pb, Pc As Integer
        Dim Rt, vM, vH, vB As Double
        gambar2 = New Bitmap(PictureBox2.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
                Rt = (vM + vH + vB) / 3
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(Rt, Rt, Rt))
            Next
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox2.Image = PictureBox1.Image

    End Sub

    Private Sub NegHijau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegHijau.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vb As Double
        gambar2 = New Bitmap(PictureBox2.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 <= 0 Then vH = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vb))
            Next
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub PosHijau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PosHijau.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vb As Double
        gambar2 = New Bitmap(PictureBox2.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
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub NegMerah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegMerah.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vb As Double
        gambar2 = New Bitmap(PictureBox2.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 <= 0 Then vM = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vb))
            Next
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub PosMerah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PosMerah.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vb As Double
        gambar2 = New Bitmap(PictureBox2.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
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub Rotate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rotate.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double
        gambar2 = New Bitmap(PictureBox1.Image)
        Dim gambar3 As Bitmap = New Bitmap(PictureBox1.Image)

        For Pb = gambar2.Height - 1 To 0 Step -1
            For Pc = gambar2.Width - 1 To 0 Step -1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B
                gambar3.SetPixel(gambar2.Width - 1 - Pc, gambar2.Height - 1 - Pb, Color.FromArgb(vM, vH, vB))
            Next
            PictureBox2.Image = gambar3
            PictureBox2.Refresh()
        Next

    End Sub

    Private Sub PosBrigness_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PosBrigness.Click
        Dim Pb, Pc As Integer
        Dim Vm, Vh, Vb As Double
        gambar2 = New Bitmap(PictureBox2.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
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next


    End Sub

    Private Sub NegBrigness_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegBrigness.Click
        Dim Pb, Pc As Integer
        Dim Vm, Vh, Vb As Double
        gambar2 = New Bitmap(PictureBox2.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 <= 0 Then Vh = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(Vm, Vh, Vb))
            Next
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next
    End Sub

    Private Sub Negatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Negatif.Click
        Dim Pb, Pc As Integer
        Dim Vm, Vh, Vb As Double
        gambar2 = New Bitmap(PictureBox2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                Vm = 255 - gambar2.GetPixel(Pc, Pb).R
                Vh = 255 - gambar2.GetPixel(Pc, Pb).G
                Vb = 255 - gambar2.GetPixel(Pc, Pb).B
                If Vm <= 0 Then Vm = 0
                If Vb <= 0 Then Vb = 0
                If Vh <= 0 Then Vh = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(Vm, Vh, Vb))
            Next
            PictureBox2.Image = gambar2
            PictureBox2.Refresh()
        Next

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        End
    End Sub
End Class
5. Setelah selesai, tekan F5 atau Start Debugging untuk menjalankan programnya
Hasilnya,
Jika klik +Hijau , maka warna pada foto akan berubah menjadi Hijau .

7.Jika klik +Greyscale , maka warna pada foto akan berubah menjadi Greyscale .
 8.Jika klik Rotate , maka warna pada foto akan berputar.

 9.Jika klik Negatif, maka warna pada foto akan Seperti ini.
NB: Sekian Pembelajaran Tentang Pengolahan Citra
            Selamat Mencoba Semoga berhasil!!!!




Tidak ada komentar:

Posting Komentar