Senin, 13 Januari 2014

Robert Edge Detection With VB.net

If picada = False Then

            MsgBox("Pilih dulu gambar yang akan diproses", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Error Proses")
            Exit Sub
        End If
        bmap = New Bitmap(picAwal.Image)
        picAwal.Image = bmap
        Dim tempbmp As New Bitmap(picAwal.Image)
        Dim robert As Int64
        Dim tempRed(0 To 2000, 0 To 2000) As Int64, tempGreen(0 To 2000, 0 To 2000) _
        As Int64, tempBlue(0 To 2000, 0 To 2000) As Int64
        Dim i, j, t1, t2, t3, t4, sx, sy As Integer

        ProgressBar1.Width = picAwal.Width
        ProgressBar1.Show()

        With bmap
            For i = 0 To .Height - 2
                For j = 0 To .Width - 2
                    t1 = CInt((.GetPixel(j, i).R) + CInt(.GetPixel(j, i).G) + CInt(.GetPixel(j, i).B) / 3)
                    t2 = CInt(CInt(.GetPixel(j + 1, i + 1).R) + CInt(.GetPixel(j + 1, i + 1).G) + CInt(.GetPixel(j + 1, i + 1).B) / 3)
                    sx = t1 - t2
                    t3 = CInt(CInt(.GetPixel(j + 1, i).R) + CInt(.GetPixel(j + 1, i).G) + CInt(.GetPixel(j + 1, i).B) / 3)
                    t4 = CInt(CInt(.GetPixel(j, i + 1).R) + CInt(.GetPixel(j, i + 1).G) + CInt(.GetPixel(j, i + 1).B) / 3)
                    sy = t3 - t4
                    tempRed(j, i) = Math.Sqrt(sx * sx + sy * sy)

                Next
            Next

            For i = 0 To .Height - 1
                For j = 0 To .Width - 1
                    robert = tempRed(j, i)
                    'trsholding
                    If robert < 50 Then robert = 0
                    If robert >= 255 Then robert = 255
                    bmap.SetPixel(j, i, Color.FromArgb(robert, robert, robert))
                Next
                If i Mod 10 = 0 Then
                    picAwal.Invalidate()
                    Me.Text = Int(100 * i / (picAwal.Image.Height - 2)).ToString & "%"
                    ProgressBar1.Value = Int(100 * i / (picAwal.Image.Height - 2))
                    picAwal.Refresh()
                End If
            Next
        End With
        ProgressBar1.Hide()
        picAwal.Refresh()
        Me.Text = "Pengolahan Citra : Proses robert selesai"

Selasa, 07 Januari 2014

Sang Pembuat Skripsi dan Tesis

    Sahabat Say yang baik hati, hari ini saya mendapat telp dari temen yang sedang ambil S2 yang meminta tolong untuk bantu dia menyelesaikan tesisnya dengan demikian saya teringat dengan masa lalu dan pingin curhat karena dengan begini saya bisa menyampaikan unek-unek saya.. dari semester 5 waktu kuliah S1 saya sudah diminta kakak senior untuk bantu buat program skripsi mereka bahkan ada dosen saya juga yang minta bantu untuk buat thesis S2-nya bahkan hingga beberapa dosen yang meminta, saya tidak tau dari mana mereka tau saya bisa membuat program untuk skripsi atau tesis dan saya tidak pernah meminta untuk membuatkan. dan satu lagi yang paling mendasar, saya tidak pernah miminta dibayar, kecuali mereka sendiri yang memberi uang untuk rokok saya katanya.

    Hingga di semester 7 saya tidak aktif lagi ngampus karena bekerja menjadi programmer di salah satu perusahaan, walaupun begitu ada saja yang minta tolong buatkan program skripsi mereka namun saya menolak, yang saya tau membuatkan program itu hanya memberi baban saya karena saya tidak mencari uang dari situ.

  Namun teman dekat gua memaksa mintol karena dia tidak ada uang untuk menempah program sama orang lain dia meminta saya untuk membuatnya, namun saya tetap menolak.. namun dia bilang "sombong kali kau pun orang mintol ja ndak bisa macam ngak bekawan ja kau bah..!!!" jadi mau ndak mau saya bantu. eh malah teman lain minta tolong juga ywdah deh sekalian timbang cemburu mereka dengan yang saya buatkan sebelumnya.

  saya tidak menampik mereka memberi saya uang walau hanya sekedar habis untuk buat rokok saat ngerjakan program skripsi mereka..

  singkat cerita semester 9 saya melanjukan kuliah lagi dan menyelesaikan S1 saya dan berhenti jadi programmer, dan saya lulus.. saya melamar menjadi dosen di kampus yang sama tempat saya kuliah,
alhamdulillah dengar kabar dari abangda (seorang dosen kesayangan yang sudah saya anggap sebagai abang kandung sendiri) saya diterima jadi dosen. namun setelah beberapa hari tidak ada kelanjutan dari berita tersebut, dengar kabar ternyata berkas saya ditahan karena diinisialir sebagai jaringan pembuat skripsi, terus terang saya terkejut, karena saya membuatkan hanya membantu teman-teman saya, kenapa bisa saya masuk kedalam jaringan tersebut.

 Mendengar berita tersebut saya gelisah, bukan karena saya tidak diterima menjadi dosen. tapi karena sangkaan tersebut tidak cocok untuk saya, akhirnya saya bertanya langsung dengan ketua jurusan dan akhirnya saya disuruh klarifikasi masalah saya, alhamdulillah saya terbebas dari sangkaan tersebut.

   Hingga sekarang ada saja yang meminta tolong ajarkan program atau teori tertentu yang mereka tidak tau kepada saya. hingga ada beberapa mahasiswa yang betah datang kerumah meminta jelaskan teori yang mereka tidak paham waktu kuliah sebelumnya dengan saya. sebagian ada yang memberi uang dengan alasan untuk jajan anak, untuk beli popok, bilang saja kemaren ada mahasiswa yang minta ajarkan hitung-hitungan pengolahan citra dan memberi saya uang sebut saja 400rb, namun saya menolak. tapi dia memaksa untuk menerimanya, akhirnya saya ambil saja 200rb hitung ngajar dikelas dengan waktu yang sama.

Sekarang saya mau bertanya, Apakah saya Sang Pembuat Skripsi??????????????????
Jika Iya, Wajarkah saya menolak mahasiswa datang kerumah yang minta diajarkan Ilmu??
bukankah Ilmu harus diajarkan???
satahu saya orang akan meminta tolong kepada yang lebih mampu, kecuali orang yang tidak punya kempetensi maka tidak ada yang minta bantuan kepadanya, namun sampai sekarang saya masih mendengar desas desis saya membuatkan skripsi. waduh ndak tau deh... wallahu a'lam bi shoaf.

saya berharap respon dari anda..

Histogram dengan VB 2008

Assalamualaikum sahabat say yang cerdas, sudah lama tidak meng-Update blog ini, alhamdulillah hari ini saya kembali lagi untuk berbagi hal yang sederhana, setelah dijelaskan pada kesempatan sebelumnya mengenai Histogram kini saya tinggal memberikan codingnya sesuai dengan logika yang terdapat pada Histogram dengan vb.net 2008.

langkah-langkahnya:
1 buat form dengan isi:
         a. picturebox yang saya beri nama picAwal dan set ja langsung image yang akan di proses
         b. AxMSChart1(cari ja di om google cara buat grafik atau chart)
         c. button
2. coding
       
        Dim bmap As Bitmap 'deklarasi gambar/image dengan tipe Bitmap
        bmap = New Bitmap(picAwal.Image) 'Gambar asli dijadikan gambar Bitmap
        picAwal.Image = bmap
        Dim tempbmp As New Bitmap(picAwal.Image) 'deklarasi gambar Bitmap dari gambar asli untuk diproses

        Dim Red As Integer, histo(255) As Integer 'saya hanya menampilkan histogram yang red-nya saja
        Dim X, Y As Integer
       
        With tempbmp
            For X = 0 To .Height - 1
                For Y = 0 To .Width - 1
                    Red = CInt(.GetPixel(Y, X).R) 'ambil nilai warna merah (Red) pada pixel(Y,X)
                    histo(Red) += 1 'untuk menghitung frekwensi kemunculan setiap intensitas pixel, setiap pixel yang sama muncul maka nilai akan + 1
                Next
            Next
            

        End With
        AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dBar
        AxMSChart1.RowCount = 256 'Menentukan jumlah baris adalah 256
        AxMSChart1.ColumnCount = 1 'Menentukan jumlah grafik adalah 1

        
        Dim jml As Integer
        jml = (tempbmp.Width * tempbmp.Height) ' digunakan untuk membagi nilai kemunculan.. contoh pixel dengan intensitas 1 muncul 100 kali pada citra 1000 pixel maka frekwensinya adalah 0.1
        
            For X = 1 To 256 ' perulangan untuk menampilkan frekwensi 0 sampai 255 intensitas pixel (dengan jumlah 256) pada grafik

            'set baris ke - X diawal adalah 1 sebelum looping
            AxMSChart1.Row = X

            'Setting label pada baris chart ke-X dengan x-1(artinya pada baris pertama diberi label 0 karena pixel dimuali dari 0)
            AxMSChart1.RowLabel = X - 1

            AxMSChart1.Column = 1
            AxMSChart1.Data = histo(X - 1) / jml 'tampilkan grafik histogram ke X-1 (sebelum looping nilai x-1 adalah 0)
        Next


Selesai dan semoga bermanfaat ya... jika masih bingung silahkan komentar dan lampirkan email anda biar saya kirim programnya melalui email.. 

Entri yang Diunggulkan

Pengertian dan Prinsip Animasi Komputer

Pengantar Animasi Pengertian Animasi  adalah gambar dari objek yang disusun berdasarkan waktu sehingga terlihat bergerak, Objek yang...