KONVOLUSI
Capaian Pembelajaran
Dapat memahami apa itu konvolusi
Dapat memahami manfaat konvolusi
Mampu membuat program Image Processing kovolusi
dengan menggunakan
Delphi 7 serta dapat menguji aplikasi konvolusi dengan berbagai mask
konvolusi
notasi
didefinisikan sebagai,
Fungsi filter g(x,y) disebut juga filter konvolusi, mask konvolusi, kernel
konvolusi, atau template. Ilustrasi konvolusi diperlihatkan pada gambar di
bawah ini :
f(i,j) = Ax0 + Bx1 + Cx2 + Dx3 + Ex4 + Fx5 + Gx6 + Hx7 + Ix8
Perhatikan kasus berikut, citra
1
Template yang lain yang sering juga digunakan untuk melakukan smoothing
citra adalah :
Tabel 1 memperlihatkan operasi High Pass Filter dan Low Pass Filter pada
suatu citra yang memiliki nilai nilai intensitas pixel berikut :
0 0
0
0
0
0 1
1
1
0
0 1
1
1
0
0 1
1
1
0
0 1
1
1
0
0 1
6
1
0
0 1
1
1
0
0 0
0
0
0
Contoh citra sesudah dan sebeum dilakukan proses filtering dan konvolusi
dapat dilihat pada tabel di bawah ini:
Untuk Image1, icon Image1 letakkan di atas Panel1 pada Form1. Nilai
nilai property pada object inspector adalah :
Untuk Image2, icon Image2 letakkan di atas Panel2 pada Form1. Nilai
nilai property pada object inspector adalah :
3. Klik 2x pada MainMenu1 -> File -> Open, setelah muncul halaman editor,
tuliskan listing program berikut :
Image.Assign(gambar);
for y:=1 to gambar.Height-2 do
begin
for i:=-1 to 1 do
row[i+1]:= Image.ScanLine[y+i];
col := gambar.ScanLine[y];
x:=3;
repeat
sum := 0;
for i:=-1 to 1 do
for j:=-1 to 1 do
sum:=sum+(konvolusi[0,i+1,j+1]*row[i+1,x+j*3]);
jum:=0;
for i:=-1 to 1 do
for j:=-1 to 1 do
jum:=jum+((konvolusi)[1,i+1,j+1]*row[i+1,x+j*3]);
sum := (sum + jum)+p;
if sum>255 then sum:=255;
if sum<0 then sum:=0;
for k:=0 to 2 do col[x+k]:=sum;
inc(x,3);
until x>=3*(gambar.Width-4);
end;
Image2.Picture.bitmap := gambar;
gambar.SaveToFile('konvulusi1.bmp');
Image.free;
end;
if RadioButton2.Checked then
begin
P:=-120;
image := tbitmap.Create;
Image.Assign(gambar);
for y:=1 to gambar.Height-2 do
begin
for i:=-1 to 1 do
row[i+1]:= Image.ScanLine[y+i];
col := gambar.ScanLine[y];
x:=3;
repeat
sum := 0;
for i:=-1 to 1 do
for j:=-1 to 1 do
sum:=sum+(konvolusi2[0,i+1,j+1]*row[i+1,x+j*3]);
jum:=0;
for i:=-1 to 1 do
for j:=-1 to 1 do
jum:=jum+((konvolusi2)[1,i+1,j+1]*row[i+1,x+j*3]);
5. Klik 2x pada MainMenu1 -> File -> Exit, setelah muncul halaman editor,
tuliskan listing program berikut :
HPF:
SMOOTHING :
Semakin besar ukuran image yang akan dikonvolusi maka akan semakin
lama proses konvolusi yang dilakukan.
Matriks pada konstanta konvolusi akan mempengaruhi hasil image baru.
6.7 Kesimpulan
Pada percobaan diatas bisa diambil kesimpulan :