10/11/2014
CIG4E3 / Pengolahan Citra Digital
BAB 4 Operasi-operasi Dasar Pengolahan Citra
Operasi Aljabar X opr Y = Z
– X: citra – Y: citra atau besaran skalar – Z: citra
Intelligent Computing and Multimedia (ICM)
Level komputasi:
C IG4E3 / P engolahan C itra D igital
Operasi Aritmatika
2
– Penjumlahan – Pengurangan – Perkalian – Pembagian
Y citra:
– Z adalah jumlah nilai brightness dari tiap pixel pada X dan Y
Operation
Y besaran skalar:
– Z adalah versi yang lebih terang dari citra X – nilai kenaikan brightness sama dengan Y
X
Y
Z
Z
C IG4E3 / P engolahan C itra D igital
Efek Pengurangan pada Citra
4
Y citra:
Y besaran skalar:
Y besaran skalar:
– Z adalah hasil product antara nilai brightness citra X dan Y
– Z adalah versi yang lebih gelap daripada X – nilai penurunan brightness sama dengan Y
C IG4E3 / P engolahan C itra D igital
– nilai brightness Z proporsional terhadap X pada nilai Y
12-CRS-0106 REVISED 8 FEB 2013
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
Efek Perkalian pada Citra
Y citra:
– Z adalah perbedaan nilai brightness antar X dan Y
5
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
X
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
Operation
Y
3
C IG4E3 / P engolahan C itra D igital
Efek Penjumlahan pada Citra
Beberapa operasi aritmatika:
Untuk citra RGB, operasi dilakukan per plane
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
1 0 /11/2014
6
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
1
12-CRS-0106 REVISED 8 FEB 2013
– Berbasis titik (pointwise): dilakukan antara tiap elemen X dan Y – Berbasis matriks: melibatkan matriks ketetanggaan
1
10/11/2014
Efek Pembagian pada Citra
Operasi Boolean Operasi boolean AND, OR, NOT Kombinasinya : NAND, NOR, XOR
Y citra:
– Z adalah nilai skala brightness pada tiap pixel di X terhadap tiap pixel di Y
Y besaran skalar:
C IG4E3 / P engolahan C itra D igital
Operasi Geometri
8
C IG4E3 / P engolahan C itra D igital
Zoom
Proses yang memanipulasi posisi spatial dari pixel Contoh:
Proses-proses yang melibatkan penaikan atau penurunan ukuran citra Teknik yang paling sederhana dalam zooming menduplikasikan nilai pixel pada arah X atau Y. Jika citra tidak di zoom dengan nilai yang sama, maka “aspect ratio” dari citra akan berubah.
C IG4E3 / P engolahan C itra D igital
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
– Zoom (in & out) – Rotasi – Flipping – Cut & paste – Warping
9
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
1 0 /11/2014
Aspect Ratio
10
C IG4E3 / P engolahan C itra D igital
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
7
12-CRS-0106 REVISED 8 FEB 2013
– nilai brightness Z akan proportional terbalik terhadap X dengan nilai Y
Zoom in
Rasio antara jumlah titik vertikal dan horizontal untuk mendapatkan panjang yang sama di kedua arah tersebut
Resolusi tidak bertambah Perubahan pada besar pixelnya – titik kecil dapat terlihat lebih besar
AR>1 AR<1
11
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
Zoom 3x AR ≠ 1 12
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
AR=1
12-CRS-0106 REVISED 8 FEB 2013
Zoom 3x AR = 1
2
10/11/2014
Contoh algoritma zoom 2x, AR = 1 int i,j,m,n; m=0; n=0; for (i=0;i<=jmlbaris-1;i++) { for(j=0;j<=jmlkolom-1;j++) { Z[m,n] = X[i,j]; Z[m,n+1] = X[i,j]; Z[m+1,n] = X[i,j]; Z[m+1,n+1] = X[i,j]; n=n+2; } m=m+2; n=0; }
Ada informasi pada citra yang harus dihilangkan. Salah satu metode sederhana ambil rata-rata dari n pixel bertetangga pada X sebagai nilai dari satu pixel pada Z
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
Zoom out not reversible
Zoom 2x
Zoom 0.5x C IG4E3 / P engolahan C itra D igital
1 0 /11/2014
Rotasi
C IG4E3 / P engolahan C itra D igital
int i,j,k; k=jmlkolom-1; for (i=0;i<=jmlbaris-1;i++) { for(j=0;j<=jmlkolom-1;j++) { Z[j,k] = X[i,j]; } k=k-1; }
900
Rotate 900
Rotate 900 C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
– salin pixel-pixel baris ke pixel-pixel kolom sesuai arah rotasi
1 0 /11/2014
1 0 /11/2014
Algoritma rotasi 900
Rotasi sederhana: kelipatan
17
16
Zoom 4x
18
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
15
12-CRS-0106 REVISED 8 FEB 2013
Zoom 0.25x
12-CRS-0106 REVISED 8 FEB 2013
Zoom in reversible
14
12-CRS-0106 REVISED 8 FEB 2013
– Contoh: hasil rata-ratanya 4 pixel pada X menjadi 1 pixel pada Z
12-CRS-0106 REVISED 8 FEB 2013
13
Zoom out
3
10/11/2014
Rotasi 0
Rotasi X0 (cont’d)
Titik (a,b)(c,d), dimana : a = r.cos b = r.sin c = r.cos(+) = r.cos .cos –r.sin .sin = a.cos – b.sin d = r.sin(+) = r.sin .cos +r.cos .sin = b.cos + a.sin
243
C IG4E3 / P engolahan C itra D igital
Flipping
20
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
Algoritma flipping vertikal
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
vertikal
Cut & Paste
22
C IG4E3 / P engolahan C itra D igital
1 0 /11/2014
12-CRS-0106 REVISED 8 FEB 2013
int i,j,k; k=jmlbaris-1; for (i=0;i<=jmlbaris-1;i++) { for(j=0;j<=jmlkolom-1;j++) { Z[k,j]= X[i,j]; } k=k-1; }
horizontal
21
352 Di titik mana sebaiknya sumbu putaran? Bagaimana rumus umum mencari ukuran citra yang dirotasikan X0?
12-CRS-0106 REVISED 8 FEB 2013
1 0 /11/2014
352 Rotasi 450
12-CRS-0106 REVISED 8 FEB 2013
19
254
Warping
Pemilihan (mulai paling mudah):
Citra diubah dengan cara mengatur kembali hubungan spatial antara objek dengan suatu template spatial menimbulkan efek-efek khusus
– Segiempat – Bentuk geometri lain: lingkaran, elips, poligon – Freeform
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
24
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
23
12-CRS-0106 REVISED 8 FEB 2013
Warp
4
10/11/2014
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
THANK YOU 26
1 0 /11/2014
C IG4E3 / P engolahan C itra D igital
12-CRS-0106 REVISED 8 FEB 2013
25
12-CRS-0106 REVISED 8 FEB 2013
Contoh warping
5