Pengolahan Citra Digital Esther Wibowo ‐
[email protected] Erick Kurniawan ‐
[email protected]
Level Pengolahan Citra (1) ◦ Level Titik ‐ hanya dilakukan pada pixel tunggal
dalam citra (pointwise) : akses dan modifikasi satu pixel, ulang operasi untuk seluruh pixel. ◦ → Intensitas, geometri, gabungan keduanya. transformasi
Citra asli
Citra hasil proses
Level Pengolahan Citra (2) ◦ Level Lokal ‐ intensitas suatu pixel bergantung pada
intensitas pixel‐pixel tetangganya. ◦ → Konvolusi untuk edge detection dan smoothing.
transformasi
Citra asli
Citra hasil proses
Level Pengolahan Citra (3) y
Level Global ‐ Transformasi dimana seluruh
y
citra yang diproses. → Penyetaraan histogram untuk meningkatkan kualitas citra.
transformasi
Citra asli
Citra hasil proses
Penyetaraan Histogram Pencocokan hitogram (histogram matching) atau spesifikasi histogram (histogram specification) y Proses untuk menghasilkan citra dengan histogram yang telah dispesifikasikan (ditetapkan dan diinginkan) y
Level Pengolahan Citra (4) Level Objek ‐ hanya dilakukan pada objek tertentu dalam citra. y Tujuan : mengenali objek mis. Dengan menghitung rata‐rata intesitas, ukuran, bentuk dan karakteristik lain. y Bagaimana menemukan objek itu? y
Verifikasi Tanda Tangan
Pengenalan Wajah
Thresholding ⎧ a1, f ( x, y ) < T f ( x, y )' = ⎨ ⎩a 2, f ( x, y ) ≥ T
a1=0 a2=255
Citra Negatif y
256 derajat keabuan
f ( x, y )' = 255 − f ( x, y ) y
128 derajat keabuan
f ( x, y )' = 127 − f ( x, y )
Clipping (Pemotongan) Termasuk dalam thresholding. y Bila nilai intensitas pixel di bawah nilai intensitas minimum atau di atas nilai intensitas maksimum. y
255,
f ( x, y ) > 255
f ( x, y )' = f ( x, y ), 0 ≤ f ( x, y ) ≤ 255 0, f ( x, y ) < 0
Brightening (Pencerahan) y
Memperbaiki kecerahan citra (+ atau ‐)
f ( x, y )' = f ( x, y ) + b y y
b positif → kecerahan + b negatif → kecerahan ‐
Pengolahan Geometri y
Transformasi ◦ ◦ ◦ ◦
y
Translasi Rotasi Skalasi / Dilatasi Distorsi / Shear
Pada dasarnya sama dengan rumus transformasi vektor.
f ' ( x' , y ' ) = f ( g1 ( x, y ), g 2 ( x, y ))
Translasi x' = x + m y' = y + n
B[ x' ][ y ' ] = A[ x + m][ y + n]
Rotasi x' = x. cos(θ ) − y. sin(θ ) y ' = x. sin(θ ) + y. cos(θ ) B[ x' ][ y ' ] = A[ x. cos(θ ) − y. sin(θ )][ x. sin(θ ) + y. cos(θ )] y
Untuk rotasi 90⁰ → menyalin pixel‐pixel baris ke pixel‐pixel kolom pada arah rotasi.
Skalasi/Dilatasi x ' = s x .x y' = s y . y
B[ x' ][ y ' ] = A[ s x .x][ s y . y ]
Contoh Dilatasi 2x dan 1/2x Perbesaran → menyalin pixel 4x y Perkecilan →Rata‐rata 4 pixel y
Flipping / Mirroring (1) y
Horizontal (sumbu Y)
B[ x' ][ y ' ] = A[ N − x][ y ] y
Vertikal (sumbu X)
B[ x' ][ y ' ] = A[ x][ M − y ]
Flipping / Mirroring (2) y
Pencerminan terhadap titik asal (0,0)
B[ x' ][ y ' ] = A[ N − x][ M − y ] y
Percerminan terhadap garis x=y
B[ x' ][ y ' ] = A[ y ][ x]
Pengolahan Intensitas + Geometri Mengubah nilai intensitas pixel + mengubah posisi y Mis. Image morphing → perubahan bentuk objek dan intensitas. y
Image Morphing
Ingat! Matriks Citra ⎡ f (1,1) ⎢ f (2,1) ⎢ f ( x, y ) = ⎢ f (3,1) ⎢ ⎢ M ⎢⎣ f (m,1) ⎡ a11 ⎢a ⎢ 21 A = ⎢ a31 ⎢ ⎢ M ⎢⎣am1
L
f (1,2)
f (1,3)
f (2,2) f (3,2) M
f (2,3) L f (3,3) L M
f (m,2)
f (m,3) L
a12 a22
a13 a23
a32 M
a33 M
am 2
am 3
L a1n ⎤ L a2 n ⎥⎥ L a3n ⎥ ⎥ M ⎥ L amn ⎥⎦
f (1, n) ⎤ f (2, n) ⎥⎥ f (3, n) ⎥ ⎥ M ⎥ f (m, n)⎥⎦
Matriks A : m baris ¯ n kolom
Contoh Matriks Citra Aras Abu‐Abu
16 x 14
zoom
A=
255 255 255 255 255 255 255 255 255 255 255 255 255 0
255 223 223 223 223 223 223 223 223 223 223 223 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 0 0 0 0 0 0 192 128 0
255 223 192 192 192 0 0 192 192 192 0 192 128 0
255 223 0 0 0 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 0 0 0 0 192 128 0
255 223 0 0 192 192 192 0 192 192 192 192 128 0
255 223 0 0 0 0 0 0 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 128 128 128 128 128 128 128 128 128 128 128 128 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Contoh Matriks Citra RGB 12 x 7 AR=
179 190 187 183 180 193 192
183 187 185 185 183 201 202
184 200 181 156 191 197 203
198 201 138 127 189 188 200
194 195 68 171 171 182 198
203 195 157 131 173 171 197
205 190 32 35 45 172 203
203 181 9 11 31 158 202
200 187 46 32 57 175 202
201 201 122 184 189 195 204
199 202 191 149 149 200 206
197 200 197 205 205 204 209
AG=
158 158 156 157 150 166 168
154 156 157 149 142 169 174
160 168 156 113 154 162 172
172 172 78 76 151 153 170
172 163 36 154 158 154 179
186 168 161 87 169 126 181
187 162 24 25 34 133 173
175 154 11 16 21 125 165
171 166 25 20 42 153 168
173 172 94 187 195 167 175
171 171 166 85 88 169 179
169 167 162 171 189 180 189
AB=
100 99 101 97 90 102 123
98 95 102 84 82 125 125
117 118 101 46 109 111 133
134 116 18 39 90 109 134
128 114 20 137 123 110 145
136 116 154 70 144 62 138
131 99 5 8 10 74 124
130 93 5 3 3 66 114
129 104 14 13 17 95 124
121 121 58 182 163 120 134
123 123 110 42 49 120 134
117 109 103 122 141 141 145
zoom
Contoh Transformasi Negatif
transformasi
A=
255 255 255 255 255 255 255 255 255 255 255 255 255 0
255 223 223 223 223 223 223 223 223 223 223 223 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 0 0 0 0 0 0 192 128 0
255 223 192 192 192 0 0 192 192 192 0 192 128 0
255 223 0 0 0 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 0 0 0 0 192 128 0
255 223 0 0 192 192 192 0 192 192 192 192 128 0
255 223 0 0 0 0 0 0 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 128 128 128 128 128 128 128 128 128 128 128 128 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Before ‘n After
A=
255 255 255 255 255 255 255 255 255 255 255 255 255 0
255 223 223 223 223 223 223 223 223 223 223 223 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 0 0 0 0 0 0 192 128 0
255 223 192 192 192 0 0 192 192 192 0 192 128 0
255 223 0 0 0 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 192 192 192 0 192 128 0
255 223 0 0 192 0 0 0 0 0 0 192 128 0
255 223 0 0 192 192 192 0 192 192 192 192 128 0
255 223 0 0 0 0 0 0 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 223 192 192 192 192 192 192 192 192 192 192 128 0
255 128 128 128 128 128 128 128 128 128 128 128 128 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
A’ =
0 0 0 0 0 0 0 0 0 0 0 0 0 255
0 32 32 32 32 32 32 32 32 32 32 32 127 255
0 32 63 63 63 63 63 63 63 63 63 63 127 255
0 32 63 63 63 255 255 255 255 255 255 63 127 255
0 32 63 63 63 255 255 63 63 63 255 63 127 255
0 32 255 255 255 255 255 63 63 63 255 63 127 255
0 32 255 255 63 255 255 63 63 63 255 63 127 255
0 32 255 255 63 255 255 63 63 63 255 63 127 255
0 32 255 255 63 255 255 255 255 255 255 63 127 255
0 32 255 255 63 63 63 255 63 63 63 63 127 255
0 32 255 255 255 255 255 255 63 63 63 63 127 255
0 32 63 63 63 63 63 63 63 63 63 63 127 255
0 32 63 63 63 63 63 63 63 63 63 63 127 255
0 32 63 63 63 63 63 63 63 63 63 63 127 255
0 127 127 127 127 127 127 127 127 127 127 127 127 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255
Operasi Aritmatika Penjumlahan/pengurangan 2 citra y Perkalian citra y Penjumlahan/pengurangan citra dengan skalar y Perkalian/pembagian citra dengan skalar y
Operasi Penjumlahan C ( x, y ) = A( x, y ) + B( x, y ) C = citra baru memiliki intensitas jumlah dari intensitas A dan B. y Menggunakan clipping nilai intensitas. y Mengurangi noise (derau) dalam citra. y
1 f ' ( x, y ) = { f1 ( x, y ) + f 2 ( x, y )} 2 Nilai riil dibulatkan
Operasi Pengurangan C ( x, y ) = A( x, y ) − B ( x, y ) C = citra baru memiliki intensitas selisih dari intensitas A dan B. y Menggunakan clipping nilai intensitas. y Memperoleh suatu objek dari 2 citra. y Mis. Citra foto ruangan dan foto ruangan dengan seseorang di dalamnya. Hasil pengurangan (x,y) ≠ 0 → pixel (x,y)= 255. y
Perkalian Citra C ( x, y ) = A( x, y ) − B ( x, y ) Mengoreksi derajat keabuan karena ketidakseragaman iluminasi atau sensor pengambil gambar. y Citra NxN dikalikan dengan matriks koreksi NxN menghasilkan citra baru hasil koreksi NxN. y
Penjumlahan/Pengurangan dengan Skalar B( x, y ) = A( x, y ) ± c c = skalar y Kenaikan / penurunan intensitas untuk setiap pixel citra A sejumlah c. y Menggunakan operasi clipping. y Sama dengan operasi titik brightening atau darkening. y
Perkalian/Pembagian dengan Skalar 1 B ( x, y ) = c. A( x, y ) dan B( x, y ) = A( x, y ) c y Perkalian menghasilkan citra B dengan intensitas lebih terang sebanding dengan c → callibration of brightness. y Pembagian menghasilkan citra B dengan intensitas lebih gelap sebanding dengan c → normalization of brightness.
Operasi Logika/Boolean Hanya berlaku pada citra biner. y Operasi pixel per pixel. y Digunakan untuk masking, deteksi fitur, analisis bentuk. y
C ( x, y ) = A( x, y )andB ( x, y ) C ( x, y ) = A( x, y )orB ( x, y ) C ( x, y ) = notA( x, y )
Operasi NOT y
Membentuk komplemen dari citra.