Oleh:
Nama
Nim
MK
Tgl Pemberian
Tgl Pengumpulan
UNIVERSITAS UDAYANA
2013
Soal :
Buatlah sebuah program yang dapat mendeklarasikan array dan mengubah suatu citra dengan
tambahan filter mean.
Penyelesaian :
Disini saya menggunakan delphi XE2 untuk membuat program
ini. Terdapat
beberapa komponen yang digunakan untuk membuat desain interface program filtering ini,
diantaranya :
a. Komponen Tfrom : digunakan sebagai lembar kerja dari program pengolahan citra
b. Komponen Timage : digunakan sebagai batasan dari frame tempat gambar diletakkan
nanti
c. Komponen Tbutton : digunakan untuk menyatakan tombol insert image, filtering dan
exit
Berikut ini merupakan tampilan interface dari program pengubah citra :
Setelah proses pembuatan desain interface dari program filtering citra ini, maka
selanjutnya setiap komponen seperti komponen Tbutton, harus diisikan suatu perintah atau
kode program untuk dapat menjalankan tugas-tugas dari setiap komponen tersebut.
Berikut ini merupakan kode program dari setiap komponen-komponen :
a. Tombol insert image :
Tombol insert image ini bertugas untuk mengambil gambar dari komputer. Proses
kerjanya dimana ketika user mengklik tombol insert image maka secara otomatis akan
muncul kotak dialog dari open picture untuk mengambil gambar dari komputer. Berikut
merupakan kode programnya :
procedure
TForm2.Button1Click(Sender: TObject);
var
setlength(Gi, lebar, tinggi);
alamatgambar:string;
setlength(Bi, lebar, tinggi);
begin
setlength(Ro, lebar, tinggi);
if openpicturedialog1.Execute then
setlength(Go, lebar, tinggi);
begin
setlength(Bo, lebar, tinggi);
alamatgambar:=openpicturedialog1.Fil
for eName;
x := 0 to lebar-1 do
for y := 0 to tinggi-1 do
image1.Picture.LoadFromFile(alamatga
begin
mbar);
temp[x,y]
end;
b. :=
Filtering
image1.Picture.Bitmap.Canvas.Pixels[x,y];
Tombol Filtering bertugas untuk melakukan salinan gambar dari image 1 ke image
end;2 dan memproses image 2 dengan proses filtering. Proses kerjanya dimana ketika user
mengklik tombol copy image maka setiap pixels pada image 1 akan disalin dan diproses
dengan filter yang telah di tentukan ke image 2. Berikut merupakan kode programnya:
for x := 0 to lebar-1 do
/* prosedur dari button click
procedure TForm2.Button2Click(Sender:
for y := 0 to tinggi-1 do
2 adalah pertama dengan
TObject);
var begin
Ri[x,y]
:= GetRValue(temp[x,y]);
x,y,lebar,
tinggi
: integer;
beginGi[x,y] := GetGValue(temp[x,y]);
Bi[x,y] := GetBValue(temp[x,y]);
image2.Picture.Bitmap.Width
:=
image1.Picture.Bitmap.Width;
end;
image2.Picture.Bitmap.Height :=
image1.Picture.Bitmap.Height;
for x := 1 to lebar-2 do
for y := 1 to tinggi-2 do
lebar := image2.Picture.Bitmap.Width;
begin
tinggi := image2.Picture.Bitmap.Height;
Ro[x,y] := round((Ri[x-1,y-1]+Ri[xsetlength(temp,lebar,tinggi);
1,y]+Ri[x-1,y+1]+Ri[x,y-1]+Ri[x,y]
+Ri[x,y+1]+Ri[x+1,y-1]+Ri[x+1,y]
+Ri[x+1,y+1])/9);
membuat variabel
Kemudian deklarasikan
variabel x,y,lebar, tinggi
dengan tipe integer
Prosedur dimulai dengan
melakukan pencopyan lebar
dan tinggi pada image 1 ke
image 2
Kemudian dilakukan
pendeklarasian variabel lebar
dan tinggi untuk menampung
lebar dan tinggi image 2
Dilakukan pendeklarasian
nilai panjang temp, Ri,Gi,Bi,
Ro,Go, Bo dengan masingmasing lebar tingginya */
Go[x,y] := round((Gi[x-1,y-1]+Gi[x-1,y]
+Gi[x-1,y+1]+Gi[x,y-1]+Gi[x,y]
+Gi[x,y+1]+Gi[x+1,y-1]+Gi[x+1,y]
+Gi[x+1,y+1])/9);
Bo[x,y] := round((Bi[x-1,y1]+Bi[x-1,y]+Bi[x-1,y+1]+Bi[x,y1]+Bi[x,y]+Bi[x,y+1]+Bi[x+1,y1]+Bi[x+1,y]+Bi[x+1,y+1])/9);
end;
for x := 1 to lebar-2 do
for y := 1 to tinggi-2 do
begin
image2.Canvas.Pixels[x,y] :=
RGB(Ro[x,y],Go[x,y],Bo[x,y]);
c. Tombol Exit
Tombol Exit digunakan untuk keluar dari program. Proses kerjanya dimana ketika
user mengklik exit program akan langsung tertutup. Berikut merupakan kode programnya.
procedure TForm2.Button3Click(Sender:
TObject);
begin
Ri := nil;
Gi := nil;
Bi := nil;
Ro := nil;
Go := nil;
Bo := nil;
temp := nil;
close;
end;
Uji Coba Program
Berikut akan ditampilkan proses uji coba dari program filtering. Dibawah ini
merupakan tampilan awal interface dari program ini :
Ketika user mengklik tombol insert image, maka akan langsung terhubung ke dalam
kotak pencarian gambar. Berikut merupakan tampilan setelah user mengklik open pada insert
image.
Kemudian ketika user mengklik tombol filtering, maka gambar akan tersalin dan
diproses untuk melakukan filering image, maka akan menghasilkan tampilan yang lebih
tajam dari gambar sebelumnya, seperti gambar berikut.
Setelah program selesai dijalankan maka user dapat menekan tombol exit
untuk menutup program.