Dalam pengolahan citra digital kita mengenal istilah grayscale. Citra RGB sebelum dimanipulasi dengan berbagai operasi tertentu, biasanya citra dikonversi dulu kedalam bentuk grayscale. pengkonversian ini bertujuan agar citra tersebut dapat dimanipulasi secara efisien tanpa adanya perhitungan yang sama berulang-ulang.
Berikut saya berikan listing program merubah citra RGB menjadi Grayscale dalam bahasa pemrograman Delphi:
var
j,i: integer ;
temp : Pbytearray;
digit,x : Byte ;
imggray : tbitmapbegin;
imggray := tbitmap.Create ;
imggray.LoadFromFile('ilham.bmp');
for j :=0 to (imggray.Height-1) do
begin
temp := imggray.ScanLine[j];
i:=0;
repeat
x:= Round((0.11*temp[i])+(0.59*temp[i+1])+(0.3*temp[i+2]));
for digit:=0 to 2 do temp[i+digit]:=x;
inc(i,3);
until i >= 3*imggray.Width-1;
end;
imggray.PixelFormat := pf8bit;
gray.Picture.Bitmap := imggray;
imggray.SaveToFile('ilhamgray.bmp');
end;
Hasil poses grayscale dapat dilihat pada gambar berikut:
Citra Asli :
var
j,i: integer ;
temp : Pbytearray;
digit,x : Byte ;
imggray : tbitmapbegin;
imggray := tbitmap.Create ;
imggray.LoadFromFile('ilham.bmp');
for j :=0 to (imggray.Height-1) do
begin
temp := imggray.ScanLine[j];
i:=0;
repeat
x:= Round((0.11*temp[i])+(0.59*temp[i+1])+(0.3*temp[i+2]));
for digit:=0 to 2 do temp[i+digit]:=x;
inc(i,3);
until i >= 3*imggray.Width-1;
end;
imggray.PixelFormat := pf8bit;
gray.Picture.Bitmap := imggray;
imggray.SaveToFile('ilhamgray.bmp');
end;
Hasil poses grayscale dapat dilihat pada gambar berikut:
Citra Asli :
0 komentar:
Post a Comment