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
![Page 1: Konversi Citra RGB ke Grayscale Menggunakan Delphi](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/1.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/2.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/3.jpg)
'.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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/4.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/5.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/6.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/7.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/8.jpg)
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](https://reader036.fdokumen.com/reader036/viewer/2022072106/55cf9a7c550346d033a1f543/html5/thumbnails/9.jpg)
Gambar 1.9. Gambar setelah diberi kecerahan 100%