Anda di halaman 1dari 14

PENGOLAHAN CITRA DIGITAL

LAPORAN BAB 6
KONVOLUSI
Disusun Untuk Memenuhi Tugas
Mata Kuliah Pengolahan Citra Digital
semester 7
Dosen Pengajar :
DR.MOECHAMMAD SAROSA,DIPL.ING.,MT.
NIP. 196401121992031002

Disusun Oleh :

AJI KURNIAWAN RAHMAN


03 / 1241160049
JTD 4B
JARINGAN TELEKOMUNIKASI DIGITAL
TEKNIK ELEKTRO

POLITEKNIK NEGERI MALANG


Jalan Soekarno Hatta 9 Malang 65141
Telp (0341) 404424 404425 Fax (0341) 404420
http://www.polinema.ac.id

2015

BAB VI
KONVOLUSI
6.1 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
6.2 Bahan dan Alat

Komputer PC
Software Delphi 07

6.3 Landasan Teori


Konvolusi 2 buah fungsi f(x) dan g(x) didefinisikan sebagai :

notasi

merupakan operator konvolusi. Untuk fungsi diskrit konvolusi

didefinisikan sebagai,

dimana g(x) merupakan kernel konvolusi atau kernel filter.


Untuk fungsi dua dimensi, operasi konvolusi didefinisikan sebagai : (untuk
fungsi kontinu)

dan untuk fungsi diskrit, 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

Dikonvolusi menggunakan templete

akan menghasilkan citra

yang baru dengan nilai-nilai =


2

Template template yang sering muncul penggunaannya dalam pengolahan


citra (meminimalisir noise pada citra, edge detection, filtering, dan lain lain)
adalah template klasikal 3x3. Template yang diaplikasikan sebagai low pass
filter adalah :

Pengaplikasian untuk high pass filter digunakan template :

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:

6.4 Prosedur Percobaan


Untuk perancangan program konvolusi menggunakan Delphi dapat kita lakukan
langkah langkah berikut :
1. Jalankan Delphi.
2. Tambahan icon Panel1, Panel2, Image1, Image2, MainMenu1, dan
OpenPictureDialog pada form1 :

Untuk Panel 1, Nilai nilai property pada object inspector adalah :

Untuk Image1, icon Image1 letakkan di atas Panel1 pada Form1. Nilai
nilai property pada object inspector adalah :

Untuk Panel2, Nilai nilai property pada object inspector adalah :

Untuk Image2, icon Image2 letakkan di atas Panel2 pada Form1. Nilai
nilai property pada object inspector adalah :

Untuk MainMenu1, klik 2x pada icon MainMenu1, sehingga muncul


tampilan sebagai berikut, atur sedemikian hingga, agar tampilan menjadi :

3. Klik 2x pada MainMenu1 -> File -> Open, setelah muncul halaman editor,
tuliskan listing program berikut :

procedure TForm1.Open1Click(Sender: TObject);


begin
if not OpenPictureDialog1.Execute then exit else
begin
gambar := TBitmap.Create;
gambar.LoadFromFile(OpenPictureDialog1.filename);
Form1.Caption:= 'Image Processing - '+
ExtractFileName (OpenPictureDialog1.Filename);
end;
if gambar.PixelFormat <> pf24bit then
gambar.PixelFormat := Pf24bit;
Image1.Picture.Bitmap := gambar;
end;
4. Kembali ke Form1, Klik 2x pada MainMenu1 Image Processing Konvolusi,
setelah muncul halaman editor, tuliskan listing berikut :

procedure TForm1.Konvolusi1Click(Sender: TObject);


const konvolusi : array[0..1,0..2,0..2]of smallint =
(((1,1,1),(1,1,1),(1,1,1)),
((0,0,0),(0,0,0),(0,0,0)));
var row
: array[0..8]of pbytearray;
col
: pbytearray;
x,y
: smallint;
i,j,k,p
: smallint;
image
: tbitmap;
sum,jum
: longint;
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+(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;
5. Klik 2x pada MainMenu1 -> File -> Exit, setelah muncul halaman editor,
tuliskan listing program berikut :

procedure TForm1.Exit1Click(Sender: TObject);


begin
close;
end;
6. Eksekusikan program dengan menekan F9 (Run) pada keyboard, maka hasil
yang di dapatkan adalah :

6.5 Flowchart Program

6.6 Hasil Program


1) Running Program :

2) Low Pass Filter :

3) High Pass Filter :

4) Smoothing :

6.7 Analisa Percobaan


Konvolusi adalah salah satu proses filtering image yang sering dilakukan
pada proses pengolahan gambar dengan menggunakan mask. Untuk melakukan
pengujian konvolusi dengan mengubah mask ada 3 cara, yaitu low pass filter, high
pass filter, dan smoothing.
Pada Low Pass Filter, gambar 2 warnanya berbeda dari gambar aslinya
yaitu menjadi hitam putih dan gambarnya terlihat timbul. Pada high pass filter,
gambar 2 menjadi warna biner yaitu hitam putih dan warna yang banya terlihat
adalah warna hitam,terlihat beberapa titik warna putih,tetapi jika dilihat dari nilai
matriks gambar masih menampilkan warna lainnya. Pada Smoothing gambar 2
masih menampilkan lebih banyak warna hitam,tetapi titik-titik warna putih lebih
banyak,sama pada kondisi high pass filter gambar masih menampilkan warna
lainnya yang dapat dilihat pada nilai matriks.
Apabila ingin mempertahankan gradiasi atau banyaknya level warna pada
suatu citra, maka yang dipertahankan adalah frekuensi rendah, sedangkan
frekuensi tinggi dapat dibuang atau dinamakan dengan Low Pass Filter. Hal ini
banyak digunakan untuk reduksi noise dan proses blur.
Untuk menampilkan nilai matriks dari citra, ditambahkan listing program
di bawah ini :
procedure TForm1.Button2Click(Sender: TObject);
var text : TextFile;
kata : String;
temp : PByteArray;
i,j : Integer;
gambar : TBitmap;
begin
kata :='matrik2.txt';
assignfile(text,kata);
gambar := image2.Picture.Bitmap;
rewrite(text);
writeln(text,'===== MATRIKS ====');
memo2.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);
end;
end.
6.8 Kesimpulan
1. Didapatkan gambar yang berbeda dari gambar aslinya yaitu gambar biner
karena warnanya menjadi hitam dan putih.
2. Ada 2 macam pengolahan level warna yaitu dengan metode Low Pass
Filter dan High Pass Filter.
3. Pada low pass filter, gambar 2 menjadi warna hitam putih.
4. Pada high pass filter, gambar 2 menjadi hitam putih dan terlihat banyak
warna hitam dan hanya menampilan beberapa titik warna putih pada
gambar,tetapi jika dilihat dari nilai matriks gambar masih menampilkan
warna lainnya.
5. Pada smoothing, gambar 2 menjadi hitam putih dan terlihat banyak warna
hitam,tetapi titik putih lebih banyak daripada saat high pass filter, sama
pada kondisi high pass filter gambar masih menampilkan warna lainnya
yang dapat dilihat pada nilai matriks.

Anda mungkin juga menyukai