Konversi Citra RGB ke Grayscale Menggunakan Delphi
-
Upload
ngurah-padank-adnyana -
Category
Documents
-
view
441 -
download
32
description
Transcript of 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
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)) =
'.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;
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);
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
Gambar 1.3. Gambar setelah diberi efek grayscale
2. Negasi Warna / Inversi Warna.
Gambar 1.4. Gambar sebelum diberi efek negasi
Gambar 1.5. Gambar setelah diberi efek negasi
3. Menambah Kecerahan pada Gambar
Gambar 1.6. Gambar sebelum diberi efek kecerahan
Gambar 1.7. Gambar yang telah diberi kecerahan 10%
Gambar 1.8. Gambar setelah diberi kecerahan 40%
Gambar 1.9. Gambar setelah diberi kecerahan 100%