Konversi Gambar RGB ke GrayScale

GrayScale adalah suatu citra dimana nilai dari setiap pixel merupakan sampel tunggal. Citra yang ditampilkan terdiri atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitasnya terlemah dan warna putih pada intensitas terkuat. Citra GrayScale berbeda dengan citra “hitam putih”, dimana pada konteks komputer citra hitam putih hanya terdiri atas 2 warna saja yaitu “hitam” dan “putih”. GrayScale merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik sengle band.

Untuk membuat gambar tampak hitam putih maka kita tinggal menyamakan intensitas dari tiga komponen warnanya. Kita bisa menghitungnya dengan mencari rata-rata dari warna merah, hijau dan biru.

gscale=(red+green+blue)/3

red = gscale
green = gscale
blue = gscale

Ini adalah contoh dari program nya :

untuk dapat membuat program di atas, ikutilah langkah-langkah berikut ini !

1.  buatlah form baru pada Visual Basic.

2.  Tambahkan object dibawah ini kedalam form yang telah kita buat !

  • Sebuah DriveListBox. DriveListBox ini berfungsi untuk menentukan Drive lokasi dari gambar yang akan kita gunakan nantinya.
  • Sebuah DirListBox. berfungsi untuk menentukan folder lokasi dari gambar.
  • Sebuah FileListBox. berfungsi untuk menentukan atau memilih gambar yang mana yang akan kita gunakan.
  • 3 buah PictureBox. biarkan name pada properties sesuai Default nya. Semua picturbox yang kita tambahkan ini nantinya akan digunakan untuk manampung gambar yang dihasilkan dari eksekusi program yang kita buat. Picture1 kita gunakan untuk menampung gambar asli yang akan kita gunakan, Picture2 dan Picture3,  akan kita gunakan untuk menggambar GrayScale dari gambar asli. Picture2 kita gunakan untuk menampung gambar Rata-rata dari GrayScale, Picture3 kita gunakan untuk menampung gambar Optimal dari GrayScale
  • kemudian aturlah letak object tersebut sesuai dengan keinginan anda.
3.  Code Program….
  • Double klik pada Drive1, ketikan code berikut ini !
                  Dir1.Path = Drive1.Drive
  • Double klik pada Dir1, ketikan code berikut ini !
                  File1.Path = Dir1.Path
  • Selanjutnya kita akan membuat sebuah Sub Preocedure  dengan nama aden yang nantinya akan kita panggil pada saat gambar dipilih pada File1. Ketikan code berikut ini pada form code !
Private Sub aden()
Dim i As Integer, j As Integer
Dim r As Integer, g As Integer, b As Integer
Dim warna As Long, x As Integer, y As Integer
Me.MousePointer = vbHourglass
For i = 1 To Picture1.Width Step 15
For j = 1 To Picture1.Height Step 15
warna = Picture1.Point(i, j)
r = warna And RGB(255, 0, 0)
g = Int((warna And RGB(0, 255, 0)) / 256)
b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)
x = Int((r + g + b) / 3) ‘untuk mencari rata-rata
y = 0.42 * r + 0.32 * g + 0.28 * b ‘untuk mencari optimal
Picture2.PSet (i, j), RGB(x, x, x)
Picture3.PSet (i, j), RGB(y, y, y)
Next j
Next i
Me.MousePointer = vbNormal
End Sub
  • Double klik pada File1, ketikan kode berikut ini !
                  Picture1.Picture = LoadPicture(File1.Path & “\” & File1.FileName)
                  Call aden
4.  Kemudian jalankan program. klik Run !
“Selamat Belajar”….
Link Download Source Code : Download (2KB)


Advertisements

One response to “Konversi Gambar RGB ke GrayScale

  1. coba gunakan citra dengan warna hitam dan putih. tunjukan pada histogram bahwa warna dari citra tersebut benar-benar hitam dan benar-benar putih

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s