laporan pcd3.pdf

11
Tugas Individu Pemrosesan Citra Digital KORELASI DAN KONVOLUSI 2D (SPATIAL FILTER) Oleh : NURKAMILA JAFAR H 121 12 014 PROGRAM STUDI STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS HASANUDDIN 2015

Upload: karmiluun

Post on 16-Jan-2016

8 views

Category:

Documents


0 download

DESCRIPTION

Korelasi dan Konvolusi 2-D

TRANSCRIPT

Page 1: Laporan PCD3.pdf

Tugas Individu

Pemrosesan Citra Digital

KORELASI DAN KONVOLUSI 2D

(SPATIAL FILTER)

Oleh :

NURKAMILA JAFAR H 121 12 014

PROGRAM STUDI STATISTIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS HASANUDDIN

2015

Page 2: Laporan PCD3.pdf

1. Korelasi 2D

Operasi korelasi dilakukan dengan menggeser kernel/mask korelasi pixel per pixel.

Kemudian hasil korelasi disimpan dalam matrik yang baru.

Rumus mencari korelasi ditulisakan sebagai berikut :

ℎ(𝑥, 𝑦) = 𝑓(𝑥, 𝑦)⨂𝑔(𝑥, 𝑦)

dimana :

ℎ(𝑥, 𝑦) = Matrik korelasi yang dihasilkan.

𝑓(𝑥, 𝑦) = Matrik citra asli yang diinput.

𝑔(𝑥, 𝑦) = kernel/mask korelasi.

Contoh

Diberikan matrik citra f dan kernel/mask g sebagai berikut :

Citra 𝑓(𝑥, 𝑦) mask 𝑔(𝑥, 𝑦)

Langkah-langkah untuk mendapatkan matrik korelasinya adalah :

1) Meletakkan matrik mask g pada sudut kiri matrik citra f seperti gambar di bawah

ini :

1 2 3

4 5 6

7 8 9

0 0 0 0 0

0 0 0 0 0

0 0 1 0 0

0 0 0 0 0

0 0 0 0 0

2) Menambahkan zero padding diatas matrik mask g, karena ditambahkan 2

baris ke atas dan 2 kolom ke kiri maka ditambahkan pula zero padding 2 baris

ke bawaha dan 2 kolom ke kanan, sehingga hasilnya seperti berikut :

0 0 0 0 0

0 0 0 0 0

0 0 1 0 0

0 0 0 0 0

0 0 0 0 0

1 2 3

4 5 6

7 8 9

Page 3: Laporan PCD3.pdf

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

3) Menghitung nilai pixel dimulai dari sudut kiri atas, dan hasilnya ditempatkan

pada posisi (0,0) pada mask.

Perhitungan nilai pixel pada langkah-1

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Menandakan posisi (0,0) pada mask g.

Untuk menghitung nilai pixel adalah dengan cari mengalikan setiap elemen

matrik kemudian dijumlahkan, seperti cara berikut :

[0 0 00 0 00 0 0

] ⨂ [1 2 34 5 67 8 9

]

= (0 × 1) + (0 × 2) + (0 × 3) + (0 × 4) + (0 × 5) + (0 × 6) + (0 × 7)

+(0 × 8) + (0 × 9) = 0

Maka matrik korelasi sementara adalah :

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

Page 4: Laporan PCD3.pdf

0

Geser mask satu piksel ke kanan kemudian hitung nilai piksel pada mask

(0,0), dan begitu seterusnya hingga geser satu piksel ke bawah dengan

memulai korelasi pada bagian kiri.

Perhitungan nilai pixel pada langkah ke-17

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Hasil korelasi adalah 9, dengan cara menghitung yang sama yaitu :

[0 0 00 0 00 0 1

] ⨂ [1 2 34 5 67 8 9

]

= (0 × 1) + (0 × 2) + (0 × 3) + (0 × 4) + (0 × 5) + (0 × 6) + (0 × 7)

+(0 × 8) + (1 × 9) = 9

Matrik korelasi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 9

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

Page 5: Laporan PCD3.pdf

Pehitungan nilai pixel pada langkah-33.

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Hasil korelasi adalah 1, dengan cara menghitung yang sama yaitu :

[1 0 00 0 00 0 0

] ⨂ [1 2 34 5 67 8 9

]

= (1 × 1) + (0 × 2) + (0 × 3) + (0 × 4) + (0 × 5) + (0 × 6) + (0 × 7)

+(0 × 8) + (0 × 9) = 1

Matrik korelasi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 9 8 7 0 0

0 0 6 5 4 0 0

0 0 3 2 1

Perhitungan nilai pixel pada langkah-49

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Hasil korelasi adalah 0, dengan cara menghitung yang sama yaitu :

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

Page 6: Laporan PCD3.pdf

[0 0 00 0 00 0 0

] ⨂ [1 2 34 5 67 8 9

]

= (0 × 1) + (0 × 2) + (0 × 3) + (0 × 4) + (0 × 5) + (0 × 6) + (0 × 7)

+(0 × 8) + (0 × 9) = 0

Matrik korelasi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 9 8 7 0 0

0 0 6 5 4 0 0

0 0 3 2 1 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

4) Mengisi nilai pixel pinggir yaitu dengan cara mengambil nilai pixel-pixel pinggir

dari citra asli, Citra 𝑓(𝑥, 𝑦). Maka didapatkan matrik korelasi ℎ(𝑥, 𝑦) :

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 9 8 7 0 0 0

0 0 0 6 5 4 0 0 0

0 0 0 3 2 1 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

2. Konvolusi 2D

Operasi konvolusi sama dengan cara operasi korelasi yaitu menggeser kernel/mask

korelasi pixel per pixel, tetapi kernel/masknya dirotasi 180°. Kemudian hasil

konvolusi disimpan dalam matrik yang baru.

Rumus mencari konvolusi ditulisakan sebagai berikut :

ℎ(𝑥, 𝑦) = 𝑓(𝑥, 𝑦)⨂𝑔(𝑥, 𝑦)

dimana :

ℎ(𝑥, 𝑦) = Matrik konvolusi yang dihasilkan.

𝑓(𝑥, 𝑦) = Matrik citra asli yang diinput.

𝑔(𝑥, 𝑦) = kernel/mask konvolusi (mask dirotasi 180°) .

Page 7: Laporan PCD3.pdf

Contoh

Diberikan matrik citra f dan kernel/mask g sebagai berikut :

Citra 𝑓(𝑥, 𝑦)

Langkah-langkah untuk mendapatkan matrik konvolusinya adalah :

1) Meletakkan matrik mask g pada sudut kiri matrik citra f seperti gambar di bawah

ini :

9 8 7

6 5 4

3 8 1

0 0 0 0 0

0 0 0 0 0

0 0 1 0 0

0 0 0 0 0

0 0 0 0 0

2) Menambahkan zero padding diatas matrik mask g, karena ditambahkan 2

baris ke atas dan 2 kolom ke kiri maka ditambahkan pula zero padding 2 baris

ke bawah dan 2 kolom ke kanan, sehingga hasilnya seperti berikut :

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 1 0 0

0 0 0 0 0

0 0 0 0 0

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

9 8 7

6 5 4

3 2 1

mask 𝑔 dirotasi 180°

Page 8: Laporan PCD3.pdf

3) Menghitung nilai pixel dimulai dari sudut kiri atas, dan hasilnya ditempatkan

pada posisi (0,0) pada mask.

Perhitungan nilai pixel pada langkah-1

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Menandakan posisi (0,0) pada mask g.

Untuk menghitung nilai pixel adalah dengan cari mengalikan setiap elemen

matrik kemudian dijumlahkan, seperti cara berikut :

[0 0 00 0 00 0 0

] ⨂ [9 8 76 5 43 2 1

]

= (0 × 9) + (0 × 8) + (0 × 7) + (0 × 6) + (0 × 5) + (0 × 4) + (0 × 3)

+(0 × 2) + (0 × 1) = 0

Maka matrik konvolusi sementara adalah :

0

Geser mask satu piksel ke kanan kemudian hitung nilai piksel pada mask

(0,0), dan begitu seterusnya hingga geser satu piksel ke bawah dengan

memulai konvolusi pada bagian kiri.

9 8 7

6 5 4

3 2 1

mask 𝑔(𝑥, 𝑦)

Page 9: Laporan PCD3.pdf

Perhitungan nilai pixel pada langkah ke-17

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Hasil konvolusi adalah 1, dengan cara menghitung yang sama yaitu :

[0 0 00 0 00 0 1

] ⨂ [9 8 76 5 43 2 1

]

= (0 × 9) + (0 × 8) + (0 × 7) + (0 × 6) + (0 × 5) + (0 × 4) + (0 × 3)

+(0 × 2) + (1 × 1) = 1

Matrik konvolusi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 1

Perhitungan nilai pixel pada langkah-33.

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

9 8 7

6 5 4

3 2 1

mask 𝑔(𝑥, 𝑦)

9 8 7

6 5 4

3 2 1

mask 𝑔(𝑥, 𝑦)

Page 10: Laporan PCD3.pdf

Hasil konvolusi adalah 9, dengan cara menghitung yang sama yaitu :

[1 0 00 0 00 0 0

] ⨂ [9 8 76 5 43 2 1

]

= (1 × 9) + (0 × 8) + (0 × 7) + (0 × 6) + (0 × 5) + (0 × 4) + (0 × 3)

+(0 × 2) + (0 × 1) = 9

Matrik konvolusi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 1 2 3 0 0

0 0 4 5 6 0 0

0 0 7 8 9

Perhitungan nilai pixel pada langkah-49

Citra 𝑓(𝑥, 𝑦)

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Hasil konvolusi adalah 0, dengan cara menghitung yang sama yaitu :

[0 0 00 0 00 0 0

] ⨂ [9 8 76 5 43 2 1

]

= (0 × 9) + (0 × 8) + (0 × 7) + (0 × 6) + (0 × 5) + (0 × 4) + (0 × 3)

+(0 × 2) + (0 × 1) = 0

Matrik konvolusi sementara adalah :

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 1 2 3 0 0

0 0 4 5 6 0 0

0 0 7 8 9 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

1 2 3

4 5 6

7 8 9

mask 𝑔(𝑥, 𝑦)

Page 11: Laporan PCD3.pdf

4) Mengisi nilai pixel pinggir yaitu dengan cara mengambil nilai pixel-pixel pinggir

dari citra asli, Citra 𝑓(𝑥, 𝑦). Maka didapatkan matrik konvolusi ℎ(𝑥, 𝑦) :

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 1 2 3 0 0 0

0 0 0 4 5 6 0 0 0

0 0 0 7 8 9 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0