Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

REPRESENTASI CITRA WARNA KE GRAYSCALE


DAN NEGATIF

Oleh :
Adith Ismail Shaleh 1241160071
Fajar Hanif Salasa

1241160005

JTD 4C

JARINGAN TELEKOMUNIKASI DIGITAL

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI MALANG


2015

BAB III
REPRESENTASI CITRA WARNA KE GRAYSCALE
DAN NEGATIF
Capaian Pembelajaran

Mengetahui proses merubah citra warna RGB ke Grayscale dengan


Metode Rerata dan NTSC

Mengetahui proses perubahan citra dari warna semula ke citra warna


negatif.

Mampu membuat program aplikasi konversi warna ke grayscale dan


negatif

3.1 Alat dan Bahan

Komputer PC

Software Delphi 07

3.2 Landasan Teori


A. Greyscale
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 terdiriatas warna abu-abu, bervariasi pada warna
hitam pada bagian yang intensitas terlemah dan warnaputih 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

setiappixel

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 karenamanupulasi bit yang tidak terlalu
banyak. Pada aplikasi lain seperti pada aplikasi medical imagingdan remote
sensing biasa juga digunakan format 10,12 maupun 16 bit.

Dalam fotografi dan komputerisasi, citra skala abu adalahsebuah citra di


mana nilai dari setiap piksel adalah sebuah sampeltunggal, dalam arti, citra itu
hanya membawa informasi intensitas. Citrajenis ini, juga dikenal sebagai citra
hitam putih, dibentuk secaraeksklusif dari derajat warna abu, bervariasi dari hitam
pada intensitasterendah ke putih pada intensitas tertinggi.Citra skala abu berbeda
dari citra hitam putih 1 bit, di manapada konteks pencitraan komputer adalah citra
dengan hanya 2 warna,hitam dan putih (disebut juga citra bilevel atau citra biner).
Citra skalaabu mempunyai sejumlah nilai derajat keabuan di dalamnya
(disebutjuga citra monokromatik, yaitu citra yang mengindikasikan tidakadanya
variasi kromatik di dalamnya). Citra skala abu dapat disintesisdari citra yang
berwarna (citra kromatik).Jika setiap piksel pada citra kromatik direpresentasikan
olehintensitas R, G, dan B yang masing-masing mewakili nilai untuk
warnamerah, hijau, dan biru, ada 3 metode perata-rataan sederhana yang dapat
diimplementasikan untuk mengkonversi citra kromatik menjadicitra skala abu:
-

Lightness
Metode lightness bekerja dengan merata-ratakan nilai piksel
warnayang paling menonjol dan yang paling tidak menonjol. Nilai
pikselskala abu dapat dihitung dengan rumus:

Average
Metode average merata-ratakan dengan sederhana. Metode
inimemberikan nilai yang sama pada tiap piksel warna. Nilai pikselskala
abu dapat dihitung dengan rumus:

Luminosity
Metode luminosity juga bekerja dengan cara merata-ratakan
nilai,tetapi

metode

ini

membentuk

rata-rata

dengan

bobot

tertentuberdasarkan persepsi mata manusia. Mata kita lebih sensitif


denganwarna hijau, oleh karena itu warna hijau diberi bobot yang
lebihbesar daripada yang lainnya. Formula untuk metode luminosity:

Gambar citra keabuan


Sumberhttp://library.binus.ac.id
B.Citra Negasi (Negatif)
Negasi adalah proses pemetaan nilai pixel suatucitra, yaitu pada citra
biner, pixel hitam dijadikanputih dan putih dijadikan hitam.Sedangkan pada
citra grayscale atau berwarna, nilaimaksimum pixel dikurangi dengan nilai
pixel yangsedang diproses.
Ko = Kmax Ki
Misal pada citra dengan 256 derajat keabuan (8 bit)
Kmax = 255 maka,Ko = 255 Ki atauf(x,y) =255 f(x,y)

3.3 Prosedur Percobaan

Gambar 4. Tampilan Pembuatan Program


a. Buatlah program seperti diatas dengan komponen-nya sebagai berikut :
No

Nama

Image 1

Komponen

Property
Stretch: True

Image 2

Stretch: True

Main Menu

Open Picture Dialog

b. Klik 2x komponen menu, lalu isikan isi menu dan sub menu seperti
berikut:

Tampilan Menu Utama

Tampilan Sub Menu Picture

Tampilan Sub Menu Keabuan

c. Pengisian Coding
1. Pada Sub Menu Picture (Open) Klik 2x,lalu isikan dengan program
berikut:
procedure TForm1.Open1Click(Sender: TObject);
begin
if(OpenPictureDialog1.Execute )then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName );
image1.Stretch:=True;
end;
image2.Picture :=image1.Picture ;
image2.Stretch:=True;
end;
2. Pada Sub Menu Picture (Save) Klik 2x,lalu isikan dengan program
berikut:

procedure TForm1.Save1Click(Sender: TObject);


begin
if(SavePictureDialog1.Execute)Then
begin
image2.Picture.SaveToFile(SavePictureDialog1.FileName );
end;
end;
3. Pada Sub Menu Keabuan (Rerata) Klik 2x, lalu isikan dengan program
berikut:
procedure TForm1.Rerata1Click(Sender: TObject);
var
PC,PH:PbyteArray;
x,y:integer;
R,G,b,K:byte;
begin
for y :=0 to image1.Picture.Height-1 do
begin
PC:=image1.Picture.Bitmap.ScanLine[y];
PH:=image2.Picture.Bitmap.ScanLine[y];
for x :=0 to image1.Picture.Width-1 do
begin
R:=PC[3*x+2];
G:=PC[3*x+1];
B:=PC[3*x];
K:=Round((R+G+B)/3);
PH[3*x+2]:=K;
PH[3*x+1]:=K;
PH[3*x]:=K;
end;
end;
image2.Visible:=true;
image2.Refresh ;

end;
4. Pada Sub Menu Keabuan (NTSC) Klik 2x, lalu isikan dengan program
berikut:
procedure TForm1.NTSC1Click(Sender: TObject);
var
PC,PH:PbyteArray;
x,y:integer;
R,G,b,K:byte;
begin
for y :=0 to image1.Picture.Height-1 do
begin
PC:=image1.Picture.Bitmap.ScanLine[y];
PH:=image2.Picture.Bitmap.ScanLine[y];
for x :=0 to image1.Picture.Width-1 do
begin
R:=PC[3*x+2];
G:=PC[3*x+1];
B:=PC[3*x];
K:=Round(((0.299*R)+(0.114*G)+(0.587*B))/3);
PH[3*x+2]:=K;
PH[3*x+1]:=K;
PH[3*x]:=K;
end;
end;
image2.Visible:=true;
image2.Refresh ;
end;
5. Pada Menu Negatif Klik 2x, lalu isikan dengan program berikut:
procedure
TObject);
var

TForm1.Negatif1Click(Sender:

PC,PH:PbyteArray;
x,y:integer;
R,G,B,K,R1,G1,B1:byte;
begin
for y :=0 to image1.Picture.Height-1 do
begin
PC:=image1.Picture.Bitmap.ScanLine[y];
PH:=image2.Picture.Bitmap.ScanLine[y];
for x :=0 to image1.Picture.Width-1 do
begin
R:=PC[3*x+2];
G:=PC[3*x+1];
B:=PC[3*x];
R1:=255-R;
G1:=255-G;
B1:=255-B;

PH[3*x+2]:=R1;
PH[3*x+1]:=G1;
PH[3*x]:=B1;
end;
end;
image2.Visible:=true;
image2.Refresh ;
end;
d. Lakukan Save All pada program yang anda buat dan simpan di folder yang
anda inginkan dan jalankan program anda dengan meng-klik tombol run.
Hasilnya adalah sebagai berikut:

3.4 Flowchart Program

3.5 Hasil Program


3.5.1 Tampilan awal :

3.5.2 Tampilan Rerata :

3.5.3 Tampilan Ntsc :

3.5.4 Tampilan Negative :

3.6 Analisa Percobaan


Pada hasil citra negative nampak jelas bahwa metode ini
menginvers warna asli ke warna kebalikannya, seperti warna putih akan
berwarna hitam pada metode negative. Untuk button rerata menggunakan
metode average. Metode inimemberikan nilai yang sama pada tiap piksel
warna. Sedangkan untuk button NTSC menggunakan metode luminosity
yang juga bekerja dengan cara merata-ratakan nilai,tetapi metode ini
membentuk rata-rata dengan bobot tertentu berdasarkan persepsi mata
manusia. Mata manusia lebih sensitif dengan warna hijau, oleh karena itu
warna hijau diberi bobot yang lebih besar daripada yang lainnya.

3.7 Kesimpulan
1. Button rerata menggunakan metode average
2. Button NTSC menggunakan metode luminousity
3. Hasil dari metode citra rerata lebih condong cerah, sedangkan untuk
metode NTSC lebih condong gelap
4. Hasil citra negative merupakan hasil inverse dari warna asal citra
sebelumnya

Anda mungkin juga menyukai