Selamat datang di sonoku.com

Operasi Inversi (Negasi Citra) dengan Delphi

Operasi ini akan menghasilkan citra negatif seperti film (negatif) foto. Pada citra greyscale, operasi inversi mengubah piksel warna putih menjadi hitam, dan sebaliknya. Sedangkan jika kita lihat dari histogramnya maka histogram citra negatif adalah pencerminan dari histogram citra asal/asli.

Operasi inversi dilakukan dengan mengurangkan nilai intensitas piksel dari nilai intensitas piksel maksimumnya.

Jadi jika ada citra 8 bit dengan 256 level intensitas maka persamaan untuk mendapatkan citra negatif adalah

Operasi Inversi dengan Delphi

Oke kita langsung saja dengan implementasinya dengan Delphi. Seperti biasa tambahkan komponen berikut dan atur propertinya.

Program yang akan kita buat akan memproses citra dengan format 8 bit dan 24 bit. Berikut potongan programnya.

[sourcecode language=”delphi”]
procedure TForm1.Invert1Click(Sender: TObject);
var piksel : PByteArray;
brs, kol: Integer;
rgb1 : array [0..2] of Integer;
begin
for brs := 0 to Image2.Picture.Height – 1 do
begin
piksel := Image2.Picture.Bitmap.ScanLine [brs];
for kol := 0 to Image2.Picture.Width-1 do
begin
if Image2.Picture.Bitmap.PixelFormat = pf8bit then // citra 8 bit
piksel[kol] := 256 – piksel[kol];
if Image2.Picture.Bitmap.PixelFormat = pf24bit then //citra 24 bit
begin
piksel[3*kol] := 256 – piksel[3*kol];
piksel[3*kol+1] := 256 – piksel[3*kol+1];
piksel[3*kol+2] := 256 – piksel[3*kol+2];
end;
end;
Image2.Invalidate;
end;
end;
[/sourcecode]

Download (source code)

1. Image Processing – Invert.rar (178kb)

References

[1] Wikipedia

[2] imageprocessingindelphi.blogspot.com

[3] Sutoyo,T., Edy Mulyanto, Vincent Suhartono, Oky Dwi Nurhayati, Wijanarto, Teori Pengolahan Citra Digital, UDINUS, Penerbit Andi, 2009

Comments

comments

Leave a Reply