Citra
merupakan fungsi kontinu dari intensitas cahaya pada bidang dua
dimensi. Secara matematis fungsi intensitas cahaya pada bidang dua
dimensi dinotasikan sebagai f(x,y), dimana (x,y) merupakan koordinat
pada bidang dua dimensi dan f(x,y) merupakan intensitas cahaya pada
bidang dua dimensi.
untuk listingnya pada button Open Picture ketiklah listing dibawah ini
if not openpicturedialog1.Execute then exit else
begin
gambar := tbitmap.Create;
gambar.LoadFromFile(openpicturedialog1.FileName);
image1.Picture.Bitmap := gambar;
end;
untuk listing pada button matrik listingnya seperti dibawah ini
var text : TextFile;
kata : String;
temp : PByteArray;
i,j : Integer;
gambar : TBitmap;
begin
kata :='matrik.txt';
assignfile(text,kata);
gambar := image1.Picture.Bitmap;
rewrite(text);
writeln(text,'================================== MATRIKS ==============================');
memo1.Clear;
for j :=0 to gambar.Height-1 do
begin
temp := gambar.ScanLine[j];
i:=0;
repeat
write(text,inttostr(temp[i])+ ' - ');
i:=i+1;
until i > 3*gambar.Height-1;
end;
closefile(text);
memo1.Lines.LoadFromFile(kata);
pada button invert
var temp : pbytearray;
x,y,k :integer;
begin
for y :=0 to gambar.Height-1 do
begin
temp := gambar.ScanLine[y];
x := 0;
repeat
for k := 0 to 2 do
temp [x+k] := not temp[x+k];
// temp [x+k] := 0; kasi hitam
inc(x,3);
until x>3* gambar.Width-1 ;
end;
image2.Picture.Bitmap := gambar;
pada button matrik
var text : TextFile;
kata : String;
temp : PByteArray;
i,j : Integer;
gambar : TBitmap;
begin
kata :='matrikinvert.txt';
assignfile(text,kata);
gambar := image2.Picture.Bitmap;
rewrite(text);
writeln(text,'============================== MATRIKS INVERT ==========================');
memo1.Clear;
for j :=0 to gambar.Height-1 do
begin
temp := gambar.ScanLine[j];
i:=0;
repeat
write(text,inttostr(temp[i])+ ' - ');
i:=i+1;
until i > 3*gambar.Height-1;
end;
closefile(text);
memo2.Lines.LoadFromFile(kata);
pada button fourier
var n,u : integer;
temp : pbytearray;
x,y,k :integer;
con,tampung : real;
fourier : array[0..10000] of real;
begin
n := (gambar.Height-1) * (gambar.Width-1);
for u := 0 to n-1 do
tampung := 0;
begin
for y :=0 to gambar.Height-1 do
begin
temp := gambar.ScanLine[y];
x := 0;
repeat
for k := 0 to 2 do
con := temp[x] * cos (2*pi*u*(x/n));
tampung := tampung + con;
temp [x+k] := 0;
inc(x,3);
until x>3* gambar.Width-1 ;
fourier[x] := 1/n;
end;
image3.Picture.Bitmap := gambar;
end;
pada button matrik
var text : TextFile;
kata : String;
temp : PByteArray;
i,j : Integer;
gambar : TBitmap;
begin
kata :='matrikfourier.txt';
assignfile(text,kata);
gambar := image3.Picture.Bitmap;
rewrite(text);
writeln(text,'============================== MATRIKS FOURIER ==========================');
memo1.Clear;
for j :=0 to gambar.Height-1 do
begin
temp := gambar.ScanLine[j];
i:=0;
repeat
write(text,inttostr(temp[i])+ ' - ');
i:=i+1;
until i > 3*gambar.Height-1;
end;
closefile(text);
memo3.Lines.LoadFromFile(kata);
untuk lebih lengkapnya silahkan download program jadinya disini
Pak muhatir.. gimana caranya buat game pakai delphi
BalasHapus