Konversi Citra RGB ke Grayscale Menggunakan Delphi

10
TUGAS PENGOLAHAN CITRA DIGITAL IV Konversi Citra RGB– GrayScale; Negasi; Kecerahan NGURAH PADANG ADNYANA 1204505015 FAKULTAS TEKNIK

description

Konversi Citra RGB Menggunakan Delphi

Transcript of Konversi Citra RGB ke Grayscale Menggunakan Delphi

Page 1: Konversi Citra RGB ke Grayscale Menggunakan Delphi

TUGAS

PENGOLAHAN CITRA DIGITAL

IV

Konversi Citra RGB– GrayScale; Negasi; Kecerahan

NGURAH PADANG ADNYANA

1204505015

FAKULTAS TEKNIK

JURUSAN TEKNOLOGI INFORMASI

UNIVERSITAS UDAYANA

Page 2: Konversi Citra RGB ke Grayscale Menggunakan Delphi

Padatugassebelumnyatelahdijelaskancara mengubah gambar RGB (Red Green, Blue )

menjadi CMY ( Cyian, Magenta, Yellow ). Kali iniakan di jelaskanmengenai proses

transformasiwarna dari RGB ke Grayscale (Abu- abu) menggunakan IDE Pascal Lazarus.

Gambar1.1 :Gambar diatas menunjukan desain yang akan di implementasikan di aplikasi ini.

Dalam aplikasi ini, terdapat Tombol Buka, Tombol GrayScale, Tombol Negasi Tombol Simpan, OpenPictureDialog, SavePictureDialog1, Trackbar1,Panel1, Label1, dan Image1. Dan berikut sintaks dari masing – masing tombol diatas. Sebelum mengisi sintaks di masing – masing tombol, terlebih dahulu harus membuat prosedure “GrayScale”, berikut sintaksnya :

procedure TForm1.ImageGrayScale(AnImage: TImage; var output : TImage);

var

JPGImage: TJPEGImage;

BMPImage: TBitmap;

begin

BMPImage := TBitmap.Create;

JPGImage := TJPEGImage.Create;

try

if (UpperCase(ExtractFileExt(OpenPictureDialog1.FileName)) = '.JPG') OR (UpperCase(ExtractFileExt(OpenPictureDialog1.FileName)) =

Page 3: Konversi Citra RGB ke Grayscale Menggunakan Delphi

'.JPEG') then

begin

BMPImage.Assign(AnImage.Picture.Graphic);

JPGImage.Assign(BMPImage);

end

else

JPGImage.Assign(AnImage.Picture.Bitmap);

JPGImage.CompressionQuality := 100;

JPGImage.Compress;

JPGImage.Grayscale := True;

BMPImage.Assign(JPGImage);

output.Picture.Assign(BMPImage);

output.Refresh;

finally

JPGImage.Free;

BMPImage.Free;

end;

end;

Code 1.1. Kode diatas adalah prosedur yang mengaktifkan fungsi grayscale

Setelah membuat prosedur tersebut, selanjutnya menambahkan sintaks di button negasi agar button tersebut dapat memproses gambar. Berikut adalah sintaksnya :

Procedure Tform1.NegasiClick (Sender : Tobject);

Begin

var l,t,warna :integer;

var R,G,B : byte;

var gray : byte;

begin

image3.Picture.Bitmap.Width :=image1.Picture.Bitmap.Width;

Page 4: Konversi Citra RGB ke Grayscale Menggunakan Delphi

image3.Picture.Bitmap.Height :=image1.Picture.Bitmap.Height;

for l := 0 to image1.Picture.Bitmap.Width -1 do

for t := 0 to image1.Picture.Bitmap.Height -1 do

begin

warna :=image1.Picture.Bitmap.Canvas.Pixels[l,t];

R := GetRValue (warna);

G := GetGValue (warna);

B := GetBValue (warna);

gray := (R+G+B)div 3;

gray := 255-gray;

image3.Picture.Bitmap.Canvas.Pixels[l,t] :=RGB(gray,gray,gray);

Code 1.2. Kode diatas adalah prosedur yang mengaktifkan fungsi negasi / invers

Setelah membuat sintaks di button negasi, selanjutnya menambahkan sintaks di Trackbar1. Berikut adalah sintaksnya :

procedure Form1.Trackbar1Change (Sender: Tobject);

begin

try

begin

TemporaryImage:=Image;

OriginalImage:=TImage.Create(self);

OriginalImage.Picture.Bitmap.Assign(Image.Picture.Bitmap);

end;

except

begin

Free;

ShowMessage('Cannot complete the operation');

end;

end;

end;

Code 1.3. Kode diatas adalah prosedur yang mengaktifkan fungsi untuk mengatur kecerahan

Setelah membuat sintaks di Trackbar1, selanjutnya menambahkan sintaks di button Buka. Berikut adalah sintaksnya :

procedure TForm1.BukaClick(Sender: TObject);

Page 5: Konversi Citra RGB ke Grayscale Menggunakan Delphi

begin

if OpenPictureDialog1.Execute then

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

end;

Code 1.4. Kode diatas adalah prosedur yang digunakan untuk memuat gambar yang akan di proses

Setelah itu, selanjutnya membuat sintaks di button Simpan. Berikut adalah sintaksnya :

procedure TForm1.SimpanClick(Sender: TObject);

begin

if SavePictureDialog1.Execute then

Image1.Picture.SaveToFile(SavePictureDialog1.FileName);

end;

Code 1.5. Kode diatas adalah prosedur yang digunakan untuk menyimpan gambar yang sudah di proses

Implementasi Aplikasi

Setelah memberikan sintaks di semua elemen, saatnya untuk mencoba aplikasi ini. Berikut adalah contoh penggunaan dari aplikasi ini.

1. Membuat gambar RGB menjadi Grayscale.

Gambar 1.2. Gambar sebelum diberi efek grayscale

Page 6: Konversi Citra RGB ke Grayscale Menggunakan Delphi

Gambar 1.3. Gambar setelah diberi efek grayscale

2. Negasi Warna / Inversi Warna.

Gambar 1.4. Gambar sebelum diberi efek negasi

Page 7: Konversi Citra RGB ke Grayscale Menggunakan Delphi

Gambar 1.5. Gambar setelah diberi efek negasi

3. Menambah Kecerahan pada Gambar

Gambar 1.6. Gambar sebelum diberi efek kecerahan

Page 8: Konversi Citra RGB ke Grayscale Menggunakan Delphi

Gambar 1.7. Gambar yang telah diberi kecerahan 10%

Gambar 1.8. Gambar setelah diberi kecerahan 40%

Page 9: Konversi Citra RGB ke Grayscale Menggunakan Delphi

Gambar 1.9. Gambar setelah diberi kecerahan 100%