Operasi-operasi dasar Pengolahan Citra Digital~3 Sutarno, ST. MT. Computer Engineering, Sriwijaya of University
FORMAT CITRA Karakteristik citra digital antara lain: ukuran (mm atau inch), resolusi (dot per inch/dpi), dan format nilainya (biner, grayscale, warna dan warna indeks). Format data citra berhubungan dengan warna
FORMAT CITRA Citra biner (monokrom): setiap titik bernilai 0 (hitam) atau 1 (putih), setiap titik membutuhkan 1 bit (1 byte = 8 bit), angka 8 bit (1 byte) dalam biner dapat ditulis dalam 2 digit heksadesimal = 10011101 = $9D = 01101110 = $6A = 01101101 = $6D = 10011110 = $9D
FORMAT CITRA Citra skala keabuan (gray scale): Kemungkinan warna lebih banyak bergantung pada jumlah bit yang digunakan. 4 bit = 24 = 16 warna (0 hitam - 15 putih) 8 bit = 28 = 256 warna (0 hitam - 255 putih) = 15 10 7 10 15 13 0 13 = $FA 7A FD 0D = 12 4 15 7 11 15 15 0 = $CA F7 BF F1 = 10 5 15 7 14 14 2 15 = $... ... ... … = 15 15 3 11 13 15 15 7 = $... … … …
FORMAT CITRA Citra Warna (true color): Kombinasi 3 warna dasar: merah, hijau dan biru (red, green, blue/RGB) atau (cyan, magenta, yellow, black/CMYK). Setiap warna bernilai 8 bit = 28 = 256 warna (0 hitam - 255 merah), (0 hitam - 255 hijau) atau (0 hitam - 255 biru), jadi setiap warna membutuhkan 24 bit (3 byte) atau lebih dari 224 = 16 juta pilihan warna. = 235 79 79 0 0 0 = 90 115 242 145 77 113
FORMAT CITRA Citra Warna Berindeks : Informasi setiap titik merupakan indeks dari suatu table yang berisi informasi warna yang tersedia, disebut palet warna “color map” Jumlah bit yang dibutuhkan tergantung pada warna yang tersedia dalam palet warna. Pada saat penyimpanan citra, informasi palet warna diikut sertakan pada citra. Keuntungannya: cepat memanipulasi warna tanpa harus mengubah informasi pada setiap titik, ukuran data menjadi lebih kecil. Format yang ada: 16 colors (4 bit), 256 color (8 bit), high color (16 bit)
CITRA DIGITAL Citra digital direpresentasikan dengan matriks. Operasi pada citra digital pada dasarnya adalah memanifulasi elemen-elemen matriks. Elemen matriks yang dimanipulasi dapat berupa elemen tunggal (sebuah pixel), sekelompok ataupun keseluruhan elemen matriks.
ARAS KOMPUTASI Operasi pada citra dapat dikelompokkan dalam 4 aras (level) komputasi, yaitu : Aras titik Aras lokal Aras global, dan Aras objek.
Aras Titik Operasi hanya dilakukan pada pixel tunggal pada citra. Dikenal sebagai operasi pointwise. Tahapannya: pengaksesan pixel pada titik koordinat yang diinginkan memodifikasi pixel dengan operasi linear/non-linear menempatkan pixel baru pada lokasi koordinat yang sama dengan pixel lama pada citra yang baru. mengulanginya untuk keseluruhan pixel dalam citra
1. Aras Titik fB(x,y) = Otitik { fA (x,y)} Operasi aras titik dibagi 3 macam: intensitas, geometri, gabungan (intensitas dan geometri). Berdasarkan intensitas berupa Operasi mengubah intensitas, nilai intensitas u suatu pixel dengan transformasi h menjadi nilai intensitas baru v. v=h(u), u,v [0, L] Operasi pengambangan (thresholding/T), nilai intensitas pixel dipetakan kesalah satu nilai a1 atau a2. f(x,y)’ = a1, f(x,y) < T f(x,y)’ = a2, f(x,y) ≥ T Operasi negative, mengurangi nilai intensitas pixel dari nilai skala keabuan maksimum. f(x,y)’ = 255 - f(x,y), citra 8 bit f(x,y)’ = 127 - f(x,y), citra 6 bit
1. Aras Titik Berdasarkan intensitas: 255, f(x,y) 255 Operasi pemotongan (clipping), dilakukan jika nilai intensitas pixel terletak dibawah nilai intensitas minimum atau diatas nilai intensitas maksimum 255, f(x,y) 255 f(x,y)’ f(x,y), 0 f(x,y) 255 0 f(x,y) 0 Operasi pencerahan (brightening), menambahkan atau mengurangkan nilai konstanta pada/dari sebuah pixel. f(x,y)’ = f(x,y) b, Jika b positif, citra bertambah cerah dan jika b negatif citra berkurang kecerahannya
1. Aras Titik Berdasarkan geometri: Posisi pixel diubah ke posisi yang baru, sedangkan nilai intensitasnya tidak berubah, Cont: pemutaran (rotasi), pergeseran (translasi), penskalaan (dilatasi), dll. (dijelaskan kemudian) Berdasarkan intensitas dan geometri: Posisi pixel diubah ke posisi yang baru, dan nilai intensitasnya juga berubah, Cont: image morphing yaitu perubahan bentuk objek dan intensitasnya.
2. Aras Lokal Operasi ini menghasilkan citra keluaran yang intensitas suatu pixel bergantung pada intensitas pixel-pixel tetangga. fB(x,y)’ = Olokal { fA (xi,yj)} (xi,yj) N(x,y) N = neighborhood, pixel-pixel yang berada disekitar (x,y). Contoh operasi aras lokal adalah operasi konvolusi untuk mendeteksi tepi (edge detection) dan pelembutan citra (image smoothing).
3. Aras Global Operasi ini citra keluaran yang intensitas suatu pixel bergantung pada intensitas keseluruhan citra. fB(x,y)’ = Oglobal { fA (x,y)} N = neighborhood, pixel-pixel yang berada disekitar (x,y). Contoh penyetaraan histogram untuk meningkatkan kualitas citra (equalization histogram). (dijelaskan kemudian)
4. Aras Objek Operasi ini dilakukan pada objek tertentu pada citra untuk mengenali objek tersebut. Contoh menghitung rata-rata intensitas, ukuran, bentuk dan karakteristik lain dari objek
OPERASI ARITMETIK 1. Penjumlahan dua buah citra C(x,y) = A(x,y) B(x,y) C adalah nilai intensitas hasil penjumlahan intensitas Citra A dan Citra B pada koordinat titik yang sama, jika hasil penjumlahan intensitas lebih besar dari 255 maka nilai intensitas dibulatkan menjadi 255. Operasi ini digunakan untuk mengurangi derau (noise) dalam data dengan merata-ratakan nilai keabuan antara pixel dari citra yang sama yang diambil berkali-kali. f’(x,y) = ½ {f1(x,y) f2(x,y)}
OPERASI ARITMETIK 2. Pengurangan dua buah citra C(x,y) = A(x,y) - B(x,y) C adalah selisih intensitas Citra A dan Citra B pada koordinat titik yang sama, ada kemungkinan bernilai negatif sehingga perlu melibatkan operasi clipping. Operasi ini digunakan mendapatkan objek dari gambar yang diambil pada tempat atau adegan yang sama. Juga digunakan untuk mendeteksi perubahan pada moving image.
OPERASI ARITMETIK 3. Pekalian dua buah citra C(x,y) = A(x,y) . B(x,y) Operasi ini digunakan mengkoreksi ketidak linearan sensor dengan cara mengalikan matrik citra dengan matrik korelasi. 4. Penjumlahan/pengurangan dengan skalar B(x,y) = A(x,y) ± c, untuk terang/gelap citra 5. Pekalian/pembagian dengan skalar B(x,y) = A(x,y).c, untuk kalibrasi kecerahan atau B(x,y) = A(x,y)/c, untuk normalisasi kecerahan
OPERASI BOOLEAN Operasi yang melibatkan operator AND, OR dan NOT C(x,y) = A(x,y) and B(x,y) C(x,y) = A(x,y) or B(x,y) C(x,y) = A(x,y) not B(x,y), untuk menetukan komplemen citra
OPERASI GEOMETRI Operasi yang merubah geometri citra f(x,y) atau koordinat pixel menjadi citra baru f’(x’,y’) sehingga: f’(x’,y’) = f(g1(x,y), f(g2(x,y)) g1 dan g2 adalah fungsi transformasi geometri x’ = g1(x,y) y’ = g2(x,y) 1. Operasi Traslasi (pergesaran) x’ = x m, (pergeseram arah sumbu x sebesar m) y’ = y n, (pergeseram arah sumbu y sebesar n) B[x][y] = A[x m ][y n]
OPERASI GEOMETRI 2. Operasi Rotasi (perputaran) x’ = x cos - y sin y’ = x sin y cos B[x’][y’] = B[x cos - y sin ][x sin y cos ]=A[x][y] Dimana adalah sudut rotasi yang berlawanan dengan arah jarum jam 3. Operasi Penskalaan (image zooming), yaitu mengubah ukuran citra membesar /zoom out atau mengecil/zoom in) x’ = sx . x y’ = sx . y B[x’][y’] = B[sx . x][sx . y]=A[x][y] Operasi zoom out dengan faktro 2 (yaitu sx=sy=2) menyalin setiap pixel sebanyak 4 kali (2x2) menjadi (4x4). Operasi zoom in dengan faktro 1/2 (yaitu sx=sy=1/2) mengambil rata-rata 4 pixel bertetangga menjadi 1 pixel.
OPERASI GEOMETRI 4. Operasi Flipping (pencerminan), ada 2 jenis Flipping, yakni: Flipping horizontal atau pencerminan terhadap sumbu y (cartesian) B[x][y]= A[N-x][y] Flipping vertical atau pencerminan terhadap sumbu x (cartesian) B[x][y]= A[x][M-y]
OPERASI GEOMETRI 4. Operasi Flipping (pencerminan), ada 2 jenis Flipping, yakni: Flipping horizontal atau pencerminan terhadap sumbu y (cartesian) B[x][y]= A[N-x][y] Flipping vertical atau pencerminan terhadap sumbu x (cartesian) B[x][y]= A[x][M-y]