Perbaikan Citra pada Domain Spasial Image Enhancement Perbaikan Citra pada Domain Spasial
Tujuan Memberikan pemahaman kepada mahasiswa mengenai berbagai teknik perbaikan citra pada domain spasial, antara lain : Transformasi negatif/identitas, log/inverse log, pangkat/akar Transformasi linier sepotong-sepotong untuk “contrast stretching” Gray-level slicing Bit-plane slicing Histogram Equalization Penggunaan nilai statistik dari histogram
Tujuan Memberikan pemahaman kepada mahasiswa mengenai berbagai teknik perbaikan citra pada domain spasial, antara lain : Operasi Aritmetik/Logik (and, or, pengurangan, rata-rata) Penskalaan intensitas citra Filtering pada domain spasial : Filter Penghalusan (averaging) Filter Penajaman (laplacian, high boost) Filter statistik (median, max)
Gambaran Umum Tujuan perbaikan adalah memproses citra sehingga didapatkan hasil yang lebih sesuai dibandingkan citra aslinya, untuk dipergunakan pada aplikasi tertentu. Metode-metode perbaikan citra dikelompokkan menjadi dua, yaitu: Metode-metode pada domain spasial Metode-metode pada domain frekuensi
Gambaran Umum Teknik pemrosesan pada domain spasial didasarkan pada manipulasi piksel dalam citra secara langsung. Teknik pemrosesan pada domain frekuensi didasarkan pada manipulasi terhadap transformasi Fourier dari suatu citra.
Gambaran Umum Proses-proses pada domain spasial dinyatakan dengan ekspresi berikut: g(x,y) = T [ f(x,y) ] f(x,y) adalah citra input g(x,y) adalah citra output T adalah operator terhadap f, yang didefinisikan pada ketetanggaan (neighborhood) dari (x,y).
Gambaran Umum Tetangga di sekitar titik (x,y) didefinisikan sebagai sub citra berupa segi empat dengan titik pusat pada (x,y). Pusat dari sub citra dipindahkan piksel demi piksel, mulai dari sudut kiri atas citra. Operator T diaplikasikan pada setiap lokasi (x,y) untuk menghasilkan output g pada lokasi tersebut. Perhitungan hanya menggunakan piksel-piksel pada area citra yang direntang oleh neighborhood.
Gambaran Umum
Gambaran Umum Bentuk paling sederhana dari T adalah ketika ukuran neighborhood 1x1 (piksel tunggal). Dalam kasus tersebut, g hanya tergantung pada nilai f pada (x,y), dan T menjadi fungsi transformasi tingkat keabuan (atau intensitas atau pemetaan) berbentuk: s = T(r) r dan s adalah variabel yang menyatakan tingkat keabuan dari f(x,y) dan g(x,y) pada sembarang titik (x,y).
Gambaran Umum Jika ukuran neighborhood lebih besar dari 1x1, biasanya digunakan masks (disebut juga filters, kernels, templates, atau windows). Filter biasanya berukuran kecil (mis, 3x3). Setiap elemen dari filter memiliki koefisien tertentu. Intensitas dari sembarang piksel pada citra output tergantung pada intensitas dari piksel-piksel pada citra input dalam neighborhood yang direntang oleh filter, dengan bobot seperti koefisien yang tercantum pada filter. Teknik perbaikan dengan model seperti ini disebut mask processing atau filtering.
Transformasi Tingkat Keabuan Dasar Tiga tipe transformasi tingkat keabuan dasar yang sering digunakan untuk perbaikan citra adalah: Linear (transformasi negatif dan identitas) Logaritmik (transformasi log dan inverse-log) Pangkat (transformasi pangkat n dan akar n)
Transformasi Tingkat Keabuan Dasar
Negatif dari Citra Negatif dari suatu citra dengan tingkat keabuan antara [0, L-1] dapat dihitung menggunakan transformasi negatif dengan rumus berikut: s = L – 1 – r (3.2-1) Membalik intensitas citra dengan rumus seperti di atas akan menghasilkan negatif dari photo. Pencarian negatif dari suatu citra cocok untuk memperbaiki gambar yang memiliki rincian sub citra terang pada area yang gelap, khususnya jika ukuran dari area gelap cukup dominan.
Negatif dari Citra
Transformasi Log Bentuk umum dari transformasi log adalah: s = c log (1+r) (3.2-2) dengan c adalah konstanta, dan diasumsikan bahwa r 0. Transformasi log memetakan rentang yang sempit dari nilai-nilai tingkat keabuan gelap pada citra input ke dalam rentang yang lebih luas pada citra output. Kebalikannya berlaku untuk tingkat keabuan terang. Transformasi log memperbanyak jumlah piksel bernilai gelap dan mengurangi jumlah piksel bernilai terang. Pada transformasi inverse log, yang terjadi adalah kebalikannya.
Transformasi Log
Transformasi Pangkat Transformasi pangkat dirumuskan sbb: s = cr (3.2-3) dengan c dan adalah konstanta positif.
Transformasi Pangkat
Transformasi Pangkat
Fungsi Transformasi Linier Sepotong-sepotong Selain tiga fungsi transformasi dasar yang dibahas sebelumnya, fungsi transformasi linear sepotong-sepotong juga biasa digunakan. Keuntungannya, bentuk dari fungsi sepotong-sepotong bisa lebih kompleks dibandingkan fungsi transformasi dasar.
Contrast stretching Salah satu di antara fungsi linier sepotong-sepotong yang paling sederhana adalah transformasi “contrast stretching”. Citra dengan kekontrasan rendah bisa disebabkan oleh kurangnya pencahayaan, kurangnya rentang dinamis dari peralatan sensor citra, atau setting lensa yang salah pada saat pengambilan citra. Ide dibalik “contrast stretching” adalah meningkatkan rentang dinamis tingkat keabuan dari citra.
Contrast stretching
Contrast stretching Lokasi titik-titik (r1,s1) dan (r2,s2) mengontrol bentuk dari fungsi transformasi. Jika r1=s1 dan r2=s2, transformasi adalah fungsi linear yang tidak mengubah tingkat keabuan. Jika r1=r2, s1=0 dan s2=L-1, transformasi menjadi fungsi thresholding yang akan menghasilkan citra biner. Nilai-nilai di antara (r1,s1) dan (r2,s2) menghasilkan berbagai derajat penyebaran tingkat keabuan dari citra output, sehingga mempengaruhi kekontrasan citra. Secara umum, r1 r2 dan s1 s2 diasumsikan sedemikian sehingga fungsi bernilai tunggal dan “monotonically increasing”.
Contrast stretching Gambar (c) menunjukkan hasil “contrast stretching” yang didapat dengan men-set (r1,s1)=(rmin,0) dan (r2,s2)=(rmax,L-1) dengan rmin dan rmax menyatakan tingkat keabuan minimum dan maksimum pada citra asal. Jadi, fungsi transformasi menarik tingkat keabuan secara linier dari rentang asal ke rentang penuh [0, L-1]. Gambar (d) menunjukkan hasil penggunaan fungsi thresholding dengan r1 = r2 = m, m adalah tingkat keabuan rata-rata dari citra.
Gray-level slicing Terkadang diperlukan untuk menonjolkan rentang tertentu dari tingkat keabuan yang ada dalam citra. Misalnya, menonjolkan gumpalan air yang ada pada citra satelit dan menonjolkan cacat yang ada pada citra sinar X. Salah satu cara yang bisa dilakukan adalah dengan menampilkan secara lebih terang semua tingkat keabuan dalam range yang ingin ditonjolkan, dan menampilkan secara lebih gelap semua tingkat keabuan lainnya. Cara lain adalah dengan menampilkan secara lebih terang semua tingkat keabuan dalam range yang ingin ditonjolkan, dengan tetap mempertahankan proporsi tingkat keabuan lainnya.
Gray-level slicing
Bit-plane slicing Selain menonjolkan range tingkat keabuan tertentu, menonjolkan kontribusi dari bit tertentu pada kemunculan citra, terkadang juga dilakukan. Misalkan intensitas tiap piksel dalam citra dinyatakan dengan 8 bit. Sehingga citra tersusun atas 8 bidang 1-bit, mulai dari bidang bit 0 untuk “least significant bit” sampai bidang bit 7 untuk “the most significant bit”.
Bit-plane slicing
Bit-plane slicing
Bit-plane slicing
Histogram Equalization “Histogram equalization” digunakan untuk memperlebar range tingkat keabuan, sehingga akan meningkatkan kekontrasan citra. Transformation berikut: untuk k=0,1,2,…,L-1
Histogram Equalization
Perbaikan Lokal Metode pemrosesan histogram yang sudah dibahas, yaitu “histogram equalization” bersifat global, karena piksel-piksel dimodifikasi menggunakan fungsi transformasi berbasis pada intensitas seluruh piksel pada citra. Seringkali diperlukan perbaikan pada suatu daerah yang kecil pada di dalam citra.
Perbaikan Lokal Teknik “histogram equalization” bisa diterapkan untuk perbaikan lokal. Caranya, definisikan daerah ketetanggaan (neighborhood), dan pindahkan pusat neighborhood piksel demi piksel pada keseluruhan citra. Pada setiap lokasi piksel, histogram dari piksel-piksel dalam neighborhood dihitung. Selanjutnya dispesifikasikan fungsi transformasi “histogram equalization” dan fungsi ini digunakan untuk memetakan intensitas piksel pada pusat neighborhood. Ulangi langkah tersebut pada seluruh piksel dalam citra.
Perbaikan Lokal
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Selain menggunakan histogram secara langsung untuk perbaikan citra, dapat pula digunakan parameter-parameter statistik yang didapat dari histogram. Untuk keperluan perbaikan citra, parameter statistik yang bisa digunakan adalah mean, yaitu rata-rata tingkat keabuan dalam citra, dan variance (atau deviasi standard), yaitu rata-rata kekontrasan citra. Deviasi standard didefinisikan sebagai akar dari variance.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Misalkan r adalah variabel random diskrit yang menyatakan tingkat keabuan diskrit dalam range [0, L-1], dan p(ri) adalah komponen “normalized histogram” pada nilai ke-i dari ri. Bisa diasumsikan bahwa p(ri) adalah estimasi probabilitas kemunculan tingkat keabuan ri. Mean dari r bisa dihitung dengan: Variance dari r bisa dihitung dengan:
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Mean dan variance global diukur terhadap seluruh citra dan digunakan untuk menilai intensitas dan kekontrasan citra secara keseluruhan. Mean dan variance lokal digunakan sebagai dasar untuk membuat perubahan di dalam citra, dimana perubahan tersebut tergantung pada karakteristik di suatu sub daerah di dalam citra.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Misalkan (x,y) adalah koordinat piksel, dan Sxy menyatakan neighborhood (subimage) dengan ukuran tertentu serta berpusat di (x,y). Mean msxy dari piksel-piksel dalam Sxy dapat dihitung sebagai berikut: rs,t adalah tingkat keabuan pada koordinat (s,t) dalam neighborhood, dan p(rs,t) adalah komponen “normalized histogram” pada neighborhood untuk tingkat keabuan rs,t.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Variance dari piksel-piksel pada daerah Sxy dapat dihitung dengan: Mean lokal adalah ukuran tingkat keabuan rata-rata dalam neighborhood Sxy dan variance adalah ukuran kekontrasan dalam neighborhood.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Permasalahan adalah bagaimana mempertajam daerah gelap dengan tetap mempertahankan daerah terang.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Misalkan f(x,y) menyatakan intensitas piksel pada koordinat (x,y), dan g(x,y) menyatakan piksel yang sudah diperbaiki pada koordinat yang sama. Maka: E, k0, k1, k2 adalah parameter-parameter yang harus ditentukan. MG adalah mean global dan DG adalah deviasi standard global.
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra Citra yang sudah diperbaiki dengan pemilihan parameter E=4.0, k0=0.4, k1=0.02, k0 k2=0.4 dan daerah lokal berukuran (3x3).
Perbaikan Menggunakan Operasi Arithmetik/Logik Operasi arithmetik/logik dilakukan dengan basis operasi piksel dengan piksel dari dua buah citra atau lebih (kecuali untuk operasi NOT, yang hanya melibatkan satu buah citra). Operator logik NOT memberikan hasil yang sama seperti transformasi negatif. Operasi AND dan OR digunakan untuk masking; yaitu memilih subcitra yang ada dalam sebuah citra.
Perbaikan Menggunakan Operasi Arithmetik/Logik
Pengurangan Citra Selisih dua citra f(x,y) dan h(x,y), dinyatakan dengan : g(x,y) = f(x,y) – h(x,y) Pengurangan dilakukan untuk setiap pasangan piksel pada lokasi yang bersesuaian dari dua buah citra f dan h.
Pengurangan Citra
Penskalaan Intensitas Citra Kebanyakan citra ditampilkan menggunakan 8 bits [0…255]. Jika hasil dari suatu operasi menghasilkan citra dengan intensitas di luar range [0…255], maka citra tersebut perlu diskalakan. Ada dua pendekatan untuk menskalakan intensitas citra: Tambahkan 255 ke setiap piksel dan selanjutnya dibagi 2. Tambahkan negatif dari intensitas minimum ke semua piksel. Selanjutnya, semua piksel dalam citra diskalakan pada interval [0,255] dengan mengalikan 255/Max ke setiap piksel. Max adalah nilai piksel maksimum pada citra yang sudah dimodifikasi.
Image Averaging Misalkan citra bernoise g(x,y) dibentuk dengan menambahkan noise (x,y) ke citra asal f(x,y), dengan rumus berikut: g(x,y)=f(x,y)+ (x,y) Diasumsikan bahwa pada setiap pasangan koordinat (x,y), noise tidak berkorelasi dan memiliki nilai rata-rata 0. Tujuan dari “image averaging” adalah mengurangi noise dengan cara merata-rata sekumpulan citra bernoise, {gi(x,y)}.
Image Averaging Jika noise memenuhi batasan seperti yang disebutkan sebelumnya, bisa ditunjukkan bahwa jika suatu citra gg(x,y) dibentuk dengan merata-rata K buah citra bernoise, gg(x,y)=1/K gi(x,y) dan bahwa : E{gg(x,y)} = f(x,y) serta 2gg(x,y) = 1/K 2(x,y) dengan E{gg(x,y)} adalah nilai gg yang diharapkan, 2gg(x,y) dan 2(x,y) adalah variance dari gg dan , pada semua koordinat (x,y). Deviasi standard pada sembarang titik dalam citra hasil rata-rata adalah: gg(x,y) = 1/ K (x,y)