51 KONVERSI FORMAT CITRA RGB KE FORMAT GRAYSCALE

 

Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 

ISSN : 1978 – 9777 

KONVERSI FORMAT CITRA RGB KE FORMAT GRAYSCALE
MENGGUNAKAN VISUAL BASIC
Hanif Al Fatta
STMIK AMIKOM Yogyakarta
e-mail : hanivonitch@yahoo.com

ABSTRACTS

This paper explains how to manipulate image file format. The development of image
processing requires image file type that is small enough to calculate but doesn’t erase the major
feature of the image. This paper aims to explain how to manipulate RGB image into grayscale
format
The first step is to extract the red value, green value and Blue value from a pixel. And then

from these three values, the grayscale value calculated. Using the algorithm perform in this paper,
an RGB can be transformed into Grayscale less than a seconds.
Keyword: RGB, Grayscale, image

1.

PENDAHULUAN

Pada aplikasi image processing, konversi format citra ke format citra yang lain adalah hal
yang sangat esensial. Hal ini berkaitan dengan beberapa hal, diantaranya adalah ukuran file yang
akan diproses idealnya adalah ukuran file yang paling kecil sehingga beberapa format file gambar
harus diubah misalnya dari format .bmp ke format .jpg. Konversi format file juga berpengaruh
terhadap beberapa algoritma, beberapa format citra menggunakan lebih dari 1 matriks untuk
merepresentasikan warna misalnya format citra RGB. Beberapa algoritma image processing hanya
bisa diberlakukan untuk citra yang direpresentasikan dengan 1 matriks tunggal saja, sehingga
format RGB perlu dikonversi. Pada tulisan ini akan dibahas teknik mngubah format citra .bmp
yang bersifat RGB ke format grayscale.

1.1. Citra RGB
Suatu citra biasanya mengacu ke citra RGB. Sebenarnya bagaimana citra disimpan dan

dimanipulasi dalam komputer diturunkan dari teknologi televisi, yang pertama kali
mengaplikasikannya untuk tampilan grafis komputer. Jika dilihat dengan kaca pembesar, tampilan
monitor komputer akan terdiri dari sejumlah triplet titik warna merah (RED), hijau (GREEN) dan
biru (BLUE). Tergantung pada pabrik monitornya untuk menentukan apak titik tersebut merupakan
titik bulat atau kotak kecil, tetapi akan selalu terdiri dari 3 triplet red, green dan blue.
Citra dalam komputer tidak lebih dari sekumpulan sejumlah triplet dimana setiap triplet
terdiri atas variasi tingkat keterangan (brightness) dari elemen red, green dan blue. Representasinya
dalam citra, triplet akan terdiri dari 3 angka yang mengatur intensitas dari Red (R), Green (G) dan
Blue (Blue) dari suatu triplet. Setiap triplet akan merepresentasikan 1 pixel (picture element). Suatu
triplet dengan nilai 67, 228 dan 180 berarti akan mengeset nilai R ke nilai 67, G ke nilai 228 dan B
k nilai 180. Angka-angka RGB ini yang seringkali disebut dengan color values. Pada format .bmp
D ‐ 1 
 

 

Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 


ISSN : 1978 – 9777 

citra setiap pixel pada citra direpresentasikan dengan dengan 24 bit, 8 bit untuk R, 8 bit untuk G
dan 8 bit untuk B, dengan pengaturan seperti pada gambar 1.

 

 

 

 

 

 

 

 




 

 


 



1.2. Citra Grayscale
Dalam komputasi, suatu citra digital grayscale atau greyscale adalah suatu citra dimana
nilai dari setiap pixel merupakan sample tunggal. Citra yang ditampilkan dari citra jenis ini terdiri
atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitas 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” saja.
Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya
sangat banyak. Citra grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap

pixel pada spektrum elektromagnetik single band .
Citra grayscale disimpan dalam format 8 bit untuk setiap sample pixel, yang
memungkinkan sebanyak 256 intensitas. Format ini sangat membantu dalam pemrograman karena
manupulasi bit yang tidak terlalu banyak. Pada aplikasi lain seperti pada aplikasi medical imaging
dan remote sensing biasa juga digunakan format 10,12 maupun 16 bit.

gambar 2 Citra grayscale dan citra hitam putih

2.

CARA PENELITIAN

2.1. Bahan Penelitian
Untuk melakukan penelitian ini, sumber data berupa citra RGB bertipe .bmp. Citra ini
akan di konversi dengan software yang dibangun dengan software Visual Basic. Hasil akhirnya
adalah citra yang telah diubah kedalam format grayscale.
2.2. Proses Konversi
Adapun proses pengubahan citra RGB ke dalam citra grayscale dapat dilihat pada gambar 3

D ‐ 2 

 

 

Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 

ISSN : 1978 – 9777 

 

Nilai 
R

Nilai 


 
 


Ekstraksi 
Komponen 
R, G dan B 

Citra 
RGB

Nilai 


Kalkulasi 
Nilai 
Grayscale 

Citra 
Grayscale 
  

Proses pertama adalah mengambil nilai R, G dan B dari suatu citra bertipe RGB. Pada tipe

.bmp citra direpresentasikan dalam 24 bit, sehingga diperlukan proses untuk mengambil masingmasing 3 kelompok 8 bit dari 24 bit tadi. Sebagai contoh suatu pixel memiliki nilai RGB 24 bit
sebagai berikut :
111100001111000011111111, untuk mendapatkan masing-masing nilai R, G dan B
dilakukan operasi-operasi sebagai berikut. Untuk mendapatkan nilai R dilakukan operasi modulo
dengan bilangan 256 sebagai berikut :
Nilai R = 111100001111000011111111 mod 10000000
= 11111111
Sedangkan untuk nilai G, dapat dicari dengan cara sebagai berikut:
Nilai G = (111100001111000011111111 and 1111111100000000)/100000000
= 11110000
Untuk Nilai B, dapat dicari dengan menggunakan rumus
Nilai B= (111100001111000011111111 and
111111110000000000000000)/10000000000000000
= 11110000
sehingga dari nilai pixel 1111000011110000111111112 atau 15790335 diperoleh nilai R =
D ‐ 3 
 

 


Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 

ISSN : 1978 – 9777 

11111111 = 255
G = 11110000 = 240
B = 11110000= 240
Sehingga diperoleh triplet RGB= (255,240,240).
Setelah nilai triplet RGB kita peroleh, maka kita bisa mendapatkan nilai grayscale dari
pixel tersebut. Ide dasarnya sebenarnya adalah membuat band tunggal dari 3 band RGB tadi
dengan rumus tertentu. Pada penelitian ini digunakan rumus :
red = (red * 5) \ 10
green = (green * 8) \ 10
blue = (blue * 3) \ 10
gray = ((red + green + blue) * 10) \ 16
Dengan mengaplikasikan prosedur tadi pada semua pixel akan kita dapatkan citra dengan
format grayscale.
3.


HASIL DAN PEMBAHASAN

Program kemudian dikembangkan dalam bahasa Visual Basic. Detail programnya sebagai
berikut :
Public Sub GrayScale(pict As PictureBox)
On Error Resume Next
x = pict.ScaleWidth
y = pict.ScaleHeight
For i = 0 To y - 1
For j = 0 To x - 1
pixel = pict.Point(j, i)
red = pixel& Mod 256
green = (pixel And &HFF00) / 256&
blue = (pixel And &HFF0000) / 65536
' my algorithm to grayscale picture
' is it correct?
red = (red * 5) \ 10
green = (green * 8) \ 10
blue = (blue * 3) \ 10

D ‐ 4 
 

 

Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 

ISSN : 1978 – 9777 

gray = ((red + green + blue) * 10) \ 16
pict.PSet (j, i), RGB(gray, gray, gray)
Next
pict.Refresh
Next
End Sub
Tingkat keabuan dari citra grayscale yang diperoleh, sangat ditentukan oleh fungsi pada
bagian :
red = (red * 5) \ 10
green = (green * 8) \ 10
blue = (blue * 3) \ 10
gray = ((red + green + blue) * 10) \ 16
Dengan mengganti beberapa konstanta pada persamaan-persamaan diatas akan didapatkan
citra grayscale dengan tingkat keabuan yang berbeda. Berikut ini contoh hasil konversi dari RGB
ke grayscale.
 
 

GrayScale(pict As
PictureBox)

 

 

RGB format BMP

Gray scale 
format BMP

 
  
Gambar 4:  hasil konversi citra RGB ke grayscale 
4.

KESIMPULAN
1. Konversi citra dari format RGB ke grayscale sangat diperlukan untuk keperluan
pemrosesan citra, diantaranya untuk memperkecil ukuran file dan untuk memenuhi syarat
beberapa algoritma identifikasi yang memerlukan citra matriks tunggal.
2. Untuk mengkonversi perlu diekstraksi dulu niali R, G dan B dari suatu pixel untuk
kemudian dijadikan input untuk menentukan nilai grayscale dari pixel tersebut.
D ‐ 5 
 

 

Seminar Nasional Teknologi 2007 (SNT 2007) 
Yogyakarta, 24 November 2007 
 
5.
[1]

ISSN : 1978 – 9777 

DAFTAR PUSTAKA
Alfatta, H, 2007, Merancangbangun Sistem Presensi Karyawan Berbasis Pengenalan
Wajah dengan algoritma Eigenface (studi kasus : STMIK AMIKOM Yogyakarta), Sekolah Pasca
Sarjana Universitas Gadjah Mada, Yogyakarta

[2]
[3]
[4]

http://exchange.manifold.net/manifold/manuals/5_userman/mfd50RGB_Images_and_Chan
nels.htm
Diakses tanggal : 7 Januari 2007

[5]
[6]

http://en.wikipedia.org/wiki/Grayscale

[7]

Diakses tanggal : 7 Januari 2007

D ‐ 6