You are on page 1of 44

1

PENGOLAHAN CITRA
Pengampu : Idhawati Hestiningsih PENDAHULUAN / DEFINISI Citra = gambar = image Citra, menurut kamus Webster, adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda misal : - foto Anda mewakili entitas diri Anda sendiri di depan kamera - foto sinar-X thorax mewakili keadaan bagian dalam tubuh seseorang - data dalam suatu file BMP mewakili apa yang digambarkannya Citra, dari sudut pandang matematis, merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang 2 dimensi. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alat-alat optik, misal mata manusia, kamera, scanner, sensor satelit, dsb, kemudian direkam. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 1. optik berupa foto 2. analog berupa sinyal video seperti gambar pada monitor televisi 3. digital yang dapat langsung disimpan pada media penyimpan magnetik Citra juga dapat dikelompokkan menjadi 2 yaitu : Citra Citra tampak (foto, gambar, lukisan, apa yang nampak di layar monitor/televisi , hologram , dll) Citra tidak tampak (data foto/gambar dalam file, citra yang direpresentasikan dalam fungsi matematis) Citra digital = citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain jika akan diolah dengan komputer harus diubah dulu menjadi citra digital. Pencitraan (imaging) = kegiatan mengubah informasi dari citra tampak/citra non digital menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah : scanner, kamera digital, kamera sinar-x/sinar infra merah, dll Pengolahan Citra = kegiatan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia/mesin(komputer). Inputannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan misal citra warnanya kurang tajam, kabur (blurring), mengandung noise (misal bintikbintik putih), dll sehingga perlu ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang disampaikan menjadi berkurang. Analisis Citra = kegiatan menganalisis citra sehingga menghasilkan informasi untuk menetapkan keputusan (biasanya didampingi bidang ilmu kecerdasan buatan/AI yaitu pengenalan pola (pattern recognition) menggunakan jaringan syaraf tiruan, logika fuzzy, dll). Pencitraan Citra digital Pengolahan citra Citra digital (baru) Analisis citra Informasi / keputusan

Citra nondigital

Dalam ilmu komputer sebenarnya ada 3 bidang studi yang berkaitan dengan citra, tapi tujuan ketiganya berbeda, yaitu : 1. Grafika Komputer 2. Pengolahan Citra 3. Pengenalan Pola

2 Grafika Komputer Adalah proses untuk menciptakan suatu gambar berdasarkan deskripsi obyek maupun latar belakang yang terkandung pada gambar tersebut. Merupakan teknik untuk membuat gambar obyek sesuai dengan obyek tersebut di alam nyata (realism). Bertujuan menghasilkan gambar/citra (lebih tepat disebut grafik/picture) dengan primitifprimitif geometri seperti garis, lingkaran, dsb. Primitif-primitif geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. Data deskriptif : koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dsb. Grafika komputer berperan dalam visualisasi dan virtual reality. Data deskriptif Grafika Komputer Citra

Pengolahan Citra Operasi-operasi pada pengolahan citra diterapkan pada citra bila : 1. Perbaikan atau memodifikasi citra dilakukan untuk meningkatkan kualitas penampakan citra/menonjolkan beberapa aspek informasi yang terkandung dalam citra (image enhancement) contoh : perbaikan kontras gelap/terang, perbaikan tepian objek, penajaman, pemberian warna semu, dll 2. Adanya cacat pada citra sehingga perlu dihilangkan/diminimumkan (image restoration) contoh : penghilangan kesamaran (debluring) citra tampak kabur karena pengaturan fokus lensa tidak tepat / kamera goyang, penghilangan noise 3. Elemen dalam citra perlu dikelompokkan, dicocokan atau diukur (image segmentation) Operasi ini berkaitan erat dengan pengenalan pola. 4. Diperlukannya ekstraksi ciri-ciri tertentu yang dimiliki citra untuk membantu dalam pengidentifikasian objek (image analysis). Proses segementasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya. Contoh : pendeteksian tepi objek 5. Sebagian citra perlu digabung dengan bagian citra yang lain (image reconstruction) contoh : beberapa foto rontgen digunakan untuk membentuk ulang gambar organ tubuh 6. Citra perlu dimampatkan (image compression) contoh : suatu file citra berbentuk BMP berukuran 258 KB dimampatkan dengan metode JPEG menjadi berukuran 49 KB 7. Menyembunyikan data rahasia (berupa teks/citra) pada citra sehingga keberadaan data rahasia tersebut tidak diketahui orang (steganografi & watermarking) Citra Pengolahan Citra Citra

Pengenalan Pola Adalah mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (komputer). Tujuan pengelompokkan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan keluaran berupa informasi/deskripsi objek di dalam citra. Citra Pengenalan Pola Informasi / deskripsi objek

COMPUTER VISION Terminologi lain yang berkaitan erat dengan pengolahan citra adalah Computer Vision. Computer vision = merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, pengenalan dan membuat keputusan.

3 Computer vision mencoba meniru cara kerja sistem visual manusia (human vision) yang sesungguhnya sangat kompleks. Manusia melihat dengan objek dengan indera penglihatan (mata), lalu citra objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam pandangan mata. Hasil interpretasi ini digunakan untuk pengambilan keputusan (misal menghindar kalau melihat ada mobil di depan). Proses-proses dalam computer vision : - memperoleh atau mengakuisisi citra digital - operasi pengolahan citra - menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan untuk tujuan tertentu, misal memandu robot, mengontrol peralatan, dll. Pengolahan citra merupakan proses awal pada computer vision, pengenalan pola merupakan proses untuk menginterpretasi citra.

CONTOH GRAFIKA KOMPUTER

CONTOH PENGOLAHAN CITRA

Pendeteksian tepi objek (edge detection)

Microprocessor diperbesar (zoom in) 60 x

Citra ada noise diperbaiki dengan teknik noise filtering

Image segmentation untuk memisahkan objek minyak dengan laut deteksi minyak yang tumpah dari kapal tenggelam di laut dari foto satelit

Menyisipkan informasi (watermark) ke dalam data multimedia (misal berupa citra). Watermark dianggap sebagai sidik digital (digital signature) dari pemilik yang sah atas produk multimedia = watermark yang disisipkan menjadi label hak cipta dari pemiliknya. CONTOH PENGENALAN POLA

Deteksi penggunaan lahan dari foto satelit salah satu teknik yang digunakan adalah image segmentation

Deteksi / pengenalan wajah manusia secara otomatis dari suatu citra

Pengenalan pola sidik jari seseorang

Pengenalan/deteksi tanda tangan asli/palsu (tanda tangan yang dibuat oleh orang yang sama/berbeda)

Pengenalan angka

Pengenalan huruf

Deteksi / pengenalan objek pada citra

Garasi

Semak

Rumput Rumah

Awan

Pohon1

Pohon2

Atap

Dinding

Atap

Dinding1

Dinding2

7 BAGAIMANA CITRA DIGITAL DIREKAM Sistem Perekaman Citra Citra yang diperoleh tergantung : - karakteristik dari obyek yang direkam - kondisi variabel dari sistem perekaman Citra merupakan gambaran tentang karakteristik suatu obyek menurut kondisi variabel tertentu Contoh: - bandingkan hasil foto manusia dengan kamera / sensor optik dan dengan sensor sinar X (kondisi variabel sistem berbeda) - bandingkan hasil foto pemandangan di tepi laut dan di daerah pegunungan (karakteristik obyek berbeda) Sensor Pasif Sistem sensor yang merekam data obyek tanpa mengirimkan energi, sumber energi bisa dalam bentuk sinar matahari, sinar lampu, dsb Contoh: sensor optik dari kamera foto, sensor optik pada sistem inderaja. Sensor Aktif Sistem sensor yang merekam data obyek mengirimkan dan menerima pantulan dari energi yang dikirim ke arah obyek, energi yang dikirim bisa berupa gelombang pendek, sinar X, dsb Contoh: sensor Rontgen untuk foto thorax, sensor gelombang pendek pada sistem radar, sensor ultrasound pada sistem USG. MACAM KOORDINAT SISTEM Koordinat Cartesian
Y

(2,3) 3 2 1 (0,0) 1 2 3 4 5 X (5,2)

Koordinat Piksel = koordinat tampilan di layar monitor


(0,0) 1 2 3 1 2 (2,3) (5,2) 3 4 5 X

8 Koordinat Matriks (y=baris, x=kolom)


(0,0) 1 2 3 4 5 Y (5,2) (2,3) 1 2 3 4 5 X

FORMAT CITRA DIGITAL Citra Digital Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana harga x dan y merupakan koordinat spasial dan harga fungsi tersebut pada setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik tersebut Citra digital adalah citra f(x,y) dimana dilakukan diskritisasi koordinat spasial (sampling) dan diskritisasi tingkat kecemerlangannya/keabuan (kwantisasi) Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar / piksel / pixel / picture element / pels) menyatakan tingkat keabuan pada titik tersebut Citra digital dinyatakan dengan matriks berukuran N x M (baris/tinggi = N, kolom/lebar = M) N = jumlah baris 0 y N1 M = jumlah kolom 0 x M1 L = maksimal warna intensitas 0 f(x,y) L 1 (derajat keabuan / gray level)

f (0,0) f (1,0) f ( x, y ) : f ( N 1,0)

f (0,1) f (1,1)

... ...

f ( N 1,1) ...

f (0, M 1) f (1, M 1) : f ( N 1, M 1)

0 0 1 2 3
4

kolom/lebar = 5

(0,0)

derajat keabuan

0 0 0 0 0

1 1 1 1 1

1 0 1 0 0

1 1
1

0 0 0 0 0

1 1

baris/tinggi=5 piksel

contoh : f(2,3) = 1 berdasarkan koordinat matriks, isi/data citra digital sebenarnya f(3,2) = 1 berdasarkan koordinat piksel di layar

9
Format Citra Citra digital biasanya berbentuk persegi panjang, secara visualisasi dimensi ukurannya dinyatakan sebagai lebar x tinggi Ukurannya dinyatakan dalam titik atau piksel (pixel=picture element) Ukurannya dapat pula dinyatakan dalam satuan panjang (mm atau inci = inch) Resolusi = banyaknya titik untuk setiap satuan panjang (dot per inch). Makin besar resolusi makin banyak titik yang terkandung dalam citra, sehingga menjadi lebih halus dalam visualisasinya. Resolusi Citra = resolusi spasial dan resolusi kecemerlangan, berpengaruh pada besarnya informasi citra yang hilang. Resolusi spasial = halus / kasarnya pembagian kisi-kisi baris dan kolom. Transformasi citra kontinue ke citra digital disebut digitalisasi (sampling). Misal hasil digitalisasi dengan jumlah baris 256 dan jumlah kolom 256 resolusi spasial 256 x 256. Resolusi kecemerlangan (intensitas / brightness) = halus / kasarnya pembagian tingkat kecemerlangan. Transformasi data analog yang bersifat kontinue ke daerah intensitas diskrit disebut kuantisasi. Bila intensitas piksel berkisar antara 0 dan 255 resolusi kecemerlangan citra adalah 256 Bagaimana sebuah citra direpresentasikan dalam file ? Pertama-tama seperti halnya jika kita ingin melukis sebuah gambar, kita harus memiliki palet dan kanvas Palet = kumpulan warna yang dapat membentuk citra, sama halnya seperti kita hendak melukis dengan cat warna, kita memiliki palet yang bisa kita isikan berbagai warna cat air Setiap warna yang berbeda dalam palet tersebut kita beri nomor (berupa angka) Contoh untuk citra monokrom (warnanya hanya putih-abu abu-hitam), berarti kita memiliki palet sbb:

Setelah itu kita dapat menggambar menggunakan warna-warna dalam palet tersebut di atas sebuah kanvas Sebuah kanvas dapat kita anggap sebagai sebuah matriks dimana setiap elemen dari matriks tersebut bisa kita isikan dengan salah satu warna dari palet Informasi tentang palet (korespondensi antara warna dengan angka) disimpan dalam komputer (program pembuka citra seperti Paint, Photoshop, dll) sehingga sebuah file citra dalam komputer hanya perlu menyimpan angka-angka yang merepresentasikan sebuah warna. Sebuah citra direpresentasikan dalam sebuah matriks yang berisi angka-angka

10

201 199 207 231 227 217 208 198 195 186 167 142 145

188 200 221 219 223 211 195 187 184 175 156 139 134

181 201 222 200 181 166 179 181 170 171 142 131 128

185 188 136 90 74 85 131 141 134 169 144 120 125

180 147 139 132 90 111 65 84 72 89 47 75 54 68 53 54 52 38 100 34 112 48 108 67 117 70

140 147 125 84 92 82 66 55 42 34 32 30 38

149 150 145 107 86 83 72 59 45 27 46 76 91

155 143 140 95 77 75 46 37 35 44 84 102 101

138 123 138 92 63 42 21 21 43 85 133 123 105

144 112 122 92 50 42 15 37 98 139 166 153 125

144 102 104 99 55 39 24 66 152 170 172 171 146

145 117 97 89 65 40 19 90 172 184 186 178 157

Jika kita menyimpan gambar kucing tadi ke dalam sebuah file (kucing.bmp), maka yang disimpan dalam file tersebut adalah angka-angka yang diperoleh dari matriks kanvas.

File kucing.bmp : Header Angkaangka dari matriks

Input

Program pembuka citra (Paint, ACDSee, Photoshop, dll)

Ditampilkan di layar

Informasi palet dan format file citra Untuk Windows Bitmap Files (.bmp) Header berisi informasi jumlah baris dan kolom dalam citra, informasi palet, dll Header langsung diikuti dengan angka-angka dalam matriks, disusun perbaris Baris pertama langsung diikuti baris kedua, dst Bagaimana mengetahui awal suatu baris? (misal untuk membedakan citra berukuran 100x200 dengan 200x100) lihat informasi jumlah baris dan jumlah kolom di header

Header

Baris 1

..

Baris terakhir

Ada bermacam format representasi citra dalam file, seperti bmp, gif, tif, jpg, dan sebagainya. Format BMP merupakan format yang kurang efisien, karena semua informasi angka dalam baris disimpan semua. Misalkan ukuran header adalah H byte, ukuran citra 100x100 byte monokrom, maka ukuran file bmp tersebut adalah : H + data citra = H + 10000 Byte

11 Bagian data citra (10000 byte) sebenarnya bisa dikompresi agar ukuran file tidak terlalu besar. Salah satu cara kompresi adalah dengan terlebih dahulu mentransformasikan citra ke ruang yang berbeda (contoh: format file JPEG). Topik ini lebih lanjut akan dibahas tersendiri. Contoh : Suatu citra format BMP 8 bit berukuran 200 x 100 maka memori yang dibutuhkan untuk menyimpan data citra tersebut (tanpa header) sebesar : Memori = 200 x 100 x 8 bit = 160000 bit = 20000 byte = 19,5 KB

MACAM / TYPE CITRA BERDASARKAN FORMAT PENYIMPANAN NILAI WARNANYA A. CITRA BINER Setiap titik (pixel) dalam citra bernilai 0 atau 1. Warna hitam = 0, putih = 1.

Catatan : Model citra cahaya = ada cahaya (=1) maka warna putih Model citra cahaya = tidak ada cahaya (=0) maka warna hitam Model citra tinta / cat = ada cat (=1) maka warna hitam Model citra tinta / cat = tidak ada cat (=0) maka warna putih Setiap titik membutuhkan media penyimpanan 1 bit Contoh = Citra Biner (hitam = 0, putih = 1) = 11011011 = 11011011 = 11000011 = 11011011 = 11011011

B. CITRA SKALA KEABUAN

Citra skala keabuan mempunyai kemungkinan warna antara hitam (minimal) dan putih (maksimal) Jumlah maksimum warna sesuai dengan bit penyimpanan yang digunakan.

Contoh : skala keabuan 4 bit 4 jumlah kemungkinan 2 = 16 warna kemungkinan warna 0 (min) sampai 15 (max) skala keabuan 8 bit 8 jumlah kemungkinan 2 = 256 warna kemungkinan warna 0 (min) sampai 255 (max) Skala keabuan 4 bit (hitam = 0, putih = 15) = 15 0 6 0 13 15 = 15 12 15 15 15 15 = 15 5 0 12 0 15 = 15 8 15 15 15 15 = 15 10 0 13 0 15

12
C. CITRA WARNA (TRUE COLOR) Setiap titik (pixel) pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar yaitu merah hijau biru citra RGB (Red Green Blue) Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit) Red = warna minimal putih, warna maksimal merah Green = warna minimal putih, warna maksimal hijau Blue = warna minimal putih, warna maksimal biru Misal warna kuning = kombinasi warna merah dan hijau sehingga nilai RGB-nya = 255 255 0 Warna ungu muda = kombinasi warna merah dan biru sehingga nilai RGB-nya = 150 0 150 Contoh : bisa dilihat di Photoshop

Jadi setiap titik pada citra warna membutuhkan data 3 byte 24 Jumlah kemungkinan kombinasi warna 2 = lebih dari 16 juta warna 24 bit disebut true color karena dianggap mencakup semua warna yang ada. Citra warna = 255 255 = 0 255 = 150 150 = 255 204

255 0 255 0 150 51 153 255

0 0 0 0 51 51 204 153

128 128 128 204 255 255 255 255 255 128 0 0

128 128 0 0 0 255 95 95 95 255 0 255

Catatan : Ada perbedaan warna dasar untuk cahaya (misal display di monitor komputer) & untuk cat/tinta (misal cetakan di atas kertas). Citra cahaya menggunakan warna dasar RGB = Red Green Blue Citra cat menggunakan warna dasar CMY = Cyan Magenta Yellow Dalam matakuliah ini kita menggunakan standar warna dasar cahaya (RGB)
D. CITRA WARNA BERINDEKS Setiap titik (pixel) pada citra warna berindeks mewakili indeks dari suatu tabel warna yang tersedia (biasanya disebut palet warna) Keuntungan pemakaian palet warna adalah kita dapat dengan cepat memanipulasi warna tanpa harus mengubah informasi pada setiap titik dalam citra. Keuntungan yang lain, penyimpanan lebih kecil. Indeks 0 1 . 4 . 10 R 0 51 G 0 52 B 0 60

= 4 = 4

0 4

12 4

255 250

255 10

255 240

Setting warna display pada MS Window biasanya format 16 colors, 256 colors, high color, true color, yang merupakan citra warna berindeks dengan ukuran palet masing-masing 4 bit, 8 bit, 16 bit dan 24 bit

13
HISTOGRAM TINGKAT KEABUAN (GRAY-LEVEL HISTOGRAM) Informasi suatu citra dapat diwakili oleh histogram Histogram = suatu fungsi yang menunjukkan jumlah titik yang ada dalam suatu citra untuk setiap tingkat keabuan Sumbu X (absis) menunjukkan tingkat warna Sumbu Y (ordinat) menunjukkan frekuensi kemunculan titik Kegunaan : 1. Penentuan parameter digitasi Dalam proses pencitraan perlu melihat apakah tingkat warna telah dipakai sesuai yang dibutuhkan. Contoh : tingkat keabuan dengan 8 bit apakah sudah memakai dari tingkat 0 sampai 256 warna tingkat keabuan. 2. Pemilihan batas ambang (threshold) Biasa digunakan untuk mengukur penonjolan objek dalam citra terhadap latar belakangnya termasuk dalam teknik pengambangan (thresholding) 3. Pengenalan / pencocokan citra Citra yang telah diubah/diupdate akan mempunyai histogram yang berbeda

Gambar gambar histogram

14
OPERASI DASAR PENGOLAHAN CITRA

Citra digital direpresentasikan dengan matriks sehingga operasi pada citra digital pada dasarnya memanipulasi elemen-elemen matriks. Operasi dasar pengolahan citra antara lain : operasi titik, operasi global, operasi berbasis bingkai (frame), operasi geometri, operasi bertetangga

OPERASI TITIK Titik pada citra memiliki 2 karakteristik yaitu : - koordinat yang menunjukkan lokasi dari titik tersebut dalam citra - nilai yg menunjukan tingkat keabuan/warna dari titik tersebut Operasi titik dilakukan dengan memodifikasi nilai skala keabuan dari titik (piksel) yang ditinjau berdasarkan fungsi tertentu. Fungsi yang digunakan adalah fungsi transformasi skala keabuan (gray scale transformation/GST) GST function = fungsi yang memetakan tingkat keabuan input (Ki) ke citra keabuan citra output (Ko) Ko = f (Ki) Untuk citra true color fungsi ini diterapkan pada ketiga elemen warna : Ro = fR (Ri) Go = fG (Gi) Bo = fB (Bi)

Beberapa operasi pengolahan citra, terkait operasi titik : 1. Modifikasi kecemerlangan (brightness modification) 2. Peningkatan Kontras (contrast enhancement) 3. Negasi (negation) 4. Pengambangan (thresholding)

1. MODIFIKASI KECEMERLANGAN (BRIGHTNESS MODIFICATION) Pada dasarnya merubah nilai keabuan/warna dari gelap menuju terang atau sebaliknya merubah citra yang terlalu cemerlang/pucat menjadi gelap. Dengan pertolongan GST fungsi, dapat ditarik formula linier :

Ko = Ki + C atau f(x,y) = f(x,y) + C Dimana C adalah suatu konstanta yang bernilai positif untuk meningkatkan kecemerlangan citra, bernilai negatif untuk mengurangi kecemerlangan citra. Untuk citra true color : Ro = Ri + CR Go = Gi + CG Bo = Bi + CB

15
2. PENINGKATAN KONTRAS (CONTRAST ENHANCEMENT) Jika sebuah citra yang mempunyai nilai keabuan yang tidak terlalu berbeda untuk semua titik, dimana titik tergelap dalam citra tidak mencapai hitam pekat dan titik paling terang dalam citra tidak berwarna putih cemerlang Dengan peningkatan kontras maka titik yang cenderung gelap menjadi lebih gelap dan yang cenderung terang menjadi lebih cemerlang. Peningkatan kontras dapat dilakukan dengan bermacam rumus, salah satunya adalah :

Ko = G (Ki P) + P G = Koefisien penguatan kontras P = Nilai skala keabuan yang dipakai sebagai pusat pengontrasan

3. NEGASI Operasi untuk mendapatkan citra negatif (negative image) Meniru film negatif pada fotografi, yaitu titik yang berwarna putih pada citra mempunyai warna hitam pada film negatifnya, demikian juga sebaliknya. Dilakukan dengan cara mengurangi nilai intensitas piksel dari nilai keabuan maksimum.

Ko = Kmax Ki Misal pada citra dengan 256 derajat keabuan (8 bit) Kmax = 255 maka Ko = 255 Ki atau f(x,y) =255 f(x,y)

16
4. KONVERSI CITRA TRUE COLOR MENJADI CITRA KEABUAN (GRAYSCALE) Operasi konversi citra true color ke keabuan dengan rumus :

Ri + Gi + Bi Ko = -------------------3 Bisa juga dengan memberi bobot (w) pada RGB karena mata manusia lebih sensitif pada warna hijau, kemudian merah, terakhir biru. Ko = wr Ri + wg Gi + wb Bi Berdasarkan NTSC (National Television System Committee), dimana : wr = 0.299 wg = 0.587 wb = 0.144

5. PENGAMBANGAN (THRESHOLDING) Operasi pengambangan digunakan untuk mengubah citra dengan format skala keabuan, yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang memiliki 2 buah nilai (yaitu 0 dan 1). Pengambangan Tunggal Memiliki sebuah nilai batas ambang Fungsi GST-nya 0, jika Ki < ambang (0 = hitam) Ko = 1, jika Ki ambang (1 = putih)

atau 0, jika Ki ambang Ko = 1, jika Ki < ambang Contoh dengan formula/rumus 1 :

misal nilai ambang = 140

17
Pengambangan Ganda Memiliki ambang bawah dan ambang atas. Dilakukan untuk menampilkan titik-titik yang mempunyai rentang nilai skala keabuan tertentu

0, jika ambang bawah Ki ambang atas Ko = 1, lainnya. atau 1, jika ambang bawah Ki ambang atas Ko = 0, lainnya. Contoh dengan formula/rumus 1 :

ambang bawah = 100

ambang atas = 140

18
OPERASI GEOMETRI Operasi Geometri pada pengolahan citra ditujukan untuk memodifikasi koordinat piksel dalam suatu citra dengan pendekatan tertentu, tetapi dalam perkembangannya dimungkinkan juga memodifikasi nilai skala keabuan. Operasi Geometri berhubungan dengan perubahan bentuk geometri citra, antara lain : Pencerminan (flipping) Rotasi/pemutaran (Rotating) Pemotongan (Cropping) Penskalaan (Scaling/Zooming) 1. PENCERMINAN (FLIPPING) Operasi pencerminan merupakan salah satu operasi geometri yang paling sederhana. Efek pencerminan horisontal : pencerminan pada sumbu Y vertikal : pencerminan pada sumbu X kombinasi : pencerminan pada sumbu Y dan X

Formula/rumus yang digunakan untuk pencerminan horisontal. x = x karena koordinat asal (x) bernilai nol atau positif, maka koordinat hasil (x) yang diperoleh dari rumus akan selalu bernilai nol atau negatif. Padahal koordinat piksel citra tidak ada (tidak boleh) negatif. Maka rumus dimodifikasi menjadi : x xc = (x xc) x xc = x + xc x = 2xc x , dengan xc nilai koordinat garis tengah citra. Citra w = lebar citra w1 xc = = (w1)/2 2
Garis tengah citra (xc)

Karena xc = (w1)/2 Maka : x = 2 ((w1)/2) x x = w 1 x

Untuk pencerminan vertikal, tinggal mengganti rumus, menjadi : y = y y = h 1 y Untuk pencerminan kombinasi, rumus keduanya digabungkan. Kesimpulan : Pencerminan Horisontal

: x = w 1 x y = y (nilai koordinat y tetap) : y = h 1 y x = x (nilai koordinat x tetap) x = w 1 x y = h 1 y

Pencerminan Vertical

Pencerminan Kombinasi :

citra asli

pencerminan horizontal

pencerminan vertical

pencerminan kombinasi

19
2. ROTASI (ROTATING) Operasi rotasi dengan memutar koordinat yang akan dibahas adalah rotasi putaran (900) dan putaran (1800). Rotasi putaran (900) searah jarum jam (CW/clock wise)

w = h dan h = w x = w 1 y y = x

pertukaran ukuran lebar & tinggi citra

Rotasi putaran (1800) searah jarum jam (CW/clock wise) x = w 1 x y = h 1 y

Rotasi Bebas Dengan asumsi berlawanan arah jarum jam (CCW/counter clock wise) x = x cos() + y sin() y = -x sin() + y cos() w = |w cos()| + |h sin()| h = |w sin()| + |h cos()|

citra asli rotasi bebas (250 CCW)

putaran (1800 CW)

putaran (900 CW)

3. PEMOTONGAN (CROPPING) Adalah pengolahan citra dengan kegiatan memotong satu bagian dari citra. Rumus yang digunakan :

x = x xL y = y yT

untuk x = xL sampai xR untuk y = yT sampai yB

xL

xR

(xL,yT) dan (xR,yB) adalah koordinat titik pojok kiri atas yT dan pojok kanan bawah citra yang akan di-crop Ukuran citra menjadi : w = xR xL h = yB YT
h yB w

citra hasil cropping citra di-crop citra asli

20
4. PENSKALAAN (SCALING) Operasi penskalaan (scaling) dimaksudkan untuk memperbesar (zoom-in) atau memperkecil (zoom-out) citra.

> 1 , memperbesar citra asli Nilai skala < 1 , memperkecil citra asli Rumus yg dipakai : x = Sh x y = Sv y Keterangan : Sh = faktor skala horisontal Sv = faktor skala vertikal
citra asli

Ukuran citra juga berubah menjadi : w = Sh w h = Sv h Operasi zoom in dengan faktor 2 (Sh=Sv=2) menyalin setiap piksel sebanyak 4 kali, jadi citra 2 x 2 piksel menjadi 4 x 4 piksel

Sh = 1

Sv = 2

21
OPERASI BERBASIS BINGKAI (FRAME) = OPERASI MULTI IMAGE Operasi multi image adalah operasi pengolahan terhadap lebih dari satu obyek citra dan menghasilkan sebuah citra keluaran yang merupakan hasil operasi matematis Operasi ini dilakukan titik per titik dengan lokasi yang bersesuaian pada citra-citra masukan Secara umum misal akan dioperasikan citra A dan citra B sehingga menghasilkan citra C, maka dapat diformulasikan sbb :

C(x,y) = A(x,y) operator B(x,y) Jika melibatkan lebih dari 2 citra, maka : C(x,y) = A1(x,y) operator A2(x,y) operator A3(x,y) Dalam operasi yang melibatkan dua buah citra atau lebih, biasanya akan diterapkan operasi aritmatika, sebagai contoh : Penjumlahan Pengurangan Perkalian Pembagian C(x,y) = A(x,y) C(x,y) = A(x,y) C(x,y) = A(x,y) C(x,y) = A(x,y) + B(x,y) B(x,y) * B(x,y) / B(x,y)

Beberapa pengolahan citra yang berkaitan dengan operasi ini adalah : 1. Penggabungan citra (image blending) 2. Deteksi gerakan (motion detection) 3. Operasi Logika (logic Operation)

1. PENGGABUNGAN CITRA (IMAGE BLENDING) Penggabungan citra dilakukan dengan cara menimpakan sebuah citra pada citra yang lain Dengan kata lain dilakukan operasi penjumlahan terhadap citra yang ada dengan pemberian bobot pada masing-masing citra

C(x,y) = wa * A(x,y) + wb * B(x,y) wa dan wb adalah bobot untuk citra A dan B, dan nilai jumlah total dari bobot adalah 1 wa + wb = 1

citra B citra A citra hasil penggabungan dengan wa=0.4 wb=0.6

2. DETEKSI GERAKAN Deteksi gerakan secara sederhana dapat dilakukan dengan mencari beda antara 2 citra yang berurutan pada hasil pencitraan menggunakan kamera video digital Operator yang digunakan adalah pengurangan Dengan operasi pengurangan ini : - bagian yang tidak bergerak akan menghasilkan nilai = 0 - bagian yang bergerak menghasilkan nilai 0 C(x,y) = A(x,y) B(x,y) Dengan mengevaluasi nilai selisih tersebut, dapat diketahui apakah pada citra terdapat objek yang bergerak Bisa juga digunakan rumus pada operasi blending dengan memberi bobot wa = 1 dan wb = 1

22

citra A

citra B

citra hasil mendeteksi gerakan : objek paku hitam menunjukkan posisi objek mengalami perpindahan objek paku putih menunjukkan posisi akhir dari objek tersebut

3. OPERASI LOGIKA Beberapa operasi logika dapat diterapkan pada 2 atau lebih citra, yaitu :

C(x,y) = A(x,y) AND C(x,y) = A(x,y) OR C(x,y) = A(x,y) XOR C(x,y) = A(x,y) SUB C(x,y) = NOT A(x,y)

B(x,y) B(x,y) B(x,y) B(x,y)

AND OR
0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1

XOR
0 1 1 0

Operasi SUB mirip dengan operasi pengurangan, tetapi jika hasilnya negatif maka hasilnya diganti dengan 0 A B jika A B A SUB B = 0 jika A < B

citra A

citra B

A AND B

citra A

citra B

A OR B

citra A

citra B

A XOR B

citra A

citra A

citra B

A SUB B

NOT A

23
OPERASI GLOBAL Proses yang dilakukan bergantung pada karakteristik global dari citra yang hendak dimodifikasi Karakteristik tersebut biasanya berupa sifat statistik dari citra itu sendiri yang direpresentasikan dengan histogram tingkat keabuan = mempertimbangkan keseluruhan titik pada citra tersebut. Salah satu operasi global adalah Ekualisasi Histogram (Histogram Equalization) EKUALISASI HISTOGRAM (Histogram Equalization) = adalah suatu proses perataan histogram, dimana distribusi nilai derajat keabuan pada suatu citra dibuat rata. Proses ekualisasi histogram secara ideal :

Ekualisasi

255

Histogram citra asli

Histogram citra hasil yang ideal

Pada gambar diatas, histogram citra hasil yang ideal memiliki jumlah titik yang sama untuk setiap tingkat keabuan, jadi distribusi titik dalam citra asli harus disebarkan secara lebih merata ke seluruh nilai keabuan. Rumus yang digunakan untuk citra dengan skala keabuan k bit, misal 8 bit :
C . ( 2 k 1) K o = round i w.h

Ci round Ko w h

= = = = =

cacah/distribusi kumulatif nilai skala keabuan ke i dari citra asli fungsi pembulatan ke bilangan terdekat, misal : 35,4 menjadi 35 nilai keabuan hasil histogram equalization lebar citra tinggi citra

Contoh : Misal diketahui beberapa nilai piksel/nilai skala keabuan sebagai berikut : 2 4 3 1 3 6 4 3 1 0 3 2 Maka histogram dari data diatas adalah :
4 3 2 1 0 0 1 2 3 4 5 6

Proses perhitungan cacah / distribusi kumulatif : Nilai skala keabuan Frekuensi Distribusi kumulatif 0 1 1 1 2 1+2=3 2 2 3+2 = 5 3 4 5+4 = 9 4 2 9 + 2 = 11 5 0 11 + 0 = 11 6 1 11 + 1 = 12

24 Hasil Histogram Ekualization Nilai skala keabuan 0 1 2 3 4 5 6 Distribusi kumulatif 1 3 5 9 11 11 2 Nilai keabuan setelah perhitungan rumus, misal : 0 1 2 4 5 5 6

Data nilai piksel/nilai skala keabuan diatas setelah ekualisasi histogram menjadi : 254146541042 Hisogramnya :
4 3 2 1 0 0 1 2 3 4 5 6

Contoh :

25
OPERASI BERTETANGGA / PERSEKITARAN (Neighborhood Operation)

Sebuah citra yang ideal, apabila mampu mencerminkan kondisi sesungguhnya dari suatu obyek. Mempunyai hubungan satu-satu (one to one), satu titik pada obyek dipetakan tepat satu pixel di citra digital.

Korespodensi one to one antara obyek dan citra digital Tetapi pada kenyataannya, hubungan yang ada antara titik dalam obyek dengan titik pada citra digital adalah hubungan satu ke banyak (one to many) dan banyak ke satu (many to one). Ini dikarenakan : sinyal yang dikirim oleh obyek citra mengalami penyebaran (divergensi), sehingga yang diterima oleh sensor atau detector tidak lagi berupa suatu titik, namun berupa luasan. Atau sebaliknya satu titik pada sensor atau detector dapat menerima banyak sinyal dari beberapa bagian.

Hubungan sesungguhnya antara obyek citra dan citra digital

Operasi citra digital yang berhubungan dengan kondisi diatas disebut operasi persekitaran/bertetangga (neighborhood operation). Operasi persekitaran/bertetangga pada dasarnya adalah hubungan antara citra dengan sebuah filter (mask / kernel) Nilai dari filter/mask merupakan bobot kontribusi titik persekitaran terhadap operasi persekitaran.

26

250 240 180 180 160

240 200 160 140 130

200 180 160 120 100

180 150 200 120 100 1 2 1 0 1 0 -1 -2 -1

Bobot/mask/ kernel/filter

Formula yang dipakai SUM OF PRODUCTS :

h(x,y) =

x = M

f(u,v) . g(x+ u,y + v)

y = N

x,y,u,v : posisi titik di dalam citra m,n : batas titik tetangga yang masih memberikan pengaruh ke titik yang sedang ditinjau untuk arah horisontal dan vertikal. Misal dari ilustrasi diatas, nilai pixel semula 160 menjadi : h(x,y) = 1*200 + 0*180 1*150 + 2*160 + 1*160 2*200 + 1*140 + 0*120 1*120 = 150 Beberapa pengolahan citra yang berkaitan dengan operasi ini adalah : 1. Deteksi Tepi (Edge Detection) 2. Penghalusan Citra (Smoothing) 3. Penajaman Citra (Sharping) 4. Reduksi Noise 5. Efek Emboss

1. DETEKSI TEPI (Edge Detection)

Operasi ini digunakan untuk menentukan lokasi titik-titik yang merupakan tepi obyek citra. Secara umum, tepi suatu obyek dalam citra dinyatakan sebagai titik yang nilai warnanya berbeda cukup besar dengan titik yang ada disebelahnya. Ada beberapa mask yang telah dirancang untuk deteksi tepi yaitu operator gradien yang terdiri dari : Robert Operator Robert diagonal 1
1 0 0 1

Operator Robert diagonal 2


0 1 1 0

Prewitt Operator Prewitt horisontal


1 1 1 0 0 0 1 1 1

Operator Prewitt vertikal


1 0 1 1 0 1 1 0 1

27
Sobel Operator Sobel horisontal 1 0 1 2 0 2 1 0 1

Operator Sobel vertikal 1 2 1 0 0 0 1 2 1


Isotropik

Operator Isotropik horisontal 1 0 1 2 0 2 1 0 1 Operator Isotropik vertikal 1 2 1 0 0 0 1 2 1 Kombinasi antar kedua hasil operasi dengan mask tersebut bisa dilakukan dengan mengambil hasil penjumlahan, nilai maksimum, rerata atau rerata geometri. K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 K0(x,y) = (1) (2) (3) (4)

K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y)

Dengan K1(x,y) dan K2(x,y) adalah hasil operasi dengan mask 1 dan mask 2. Dalam praktek, formula (1) dan (2) biasanya lebih disukai dan lebih mudah dikerjakan karena mengandung jumlah operasi aritmetika yang lebih sedikit.
Operator Laplacian Operator lain yang dapat digunakan untuk mendeteksi tepi adalah operator Laplacian. Operator ini dapat digunakan untuk horisontal dan vertikal.
0 1 0 1 4 1 0 1 0

Laplacian 5 titik
1 1 1 1 8 1 1 1 1

Laplacian 9 titik I
2 1 2 1 4 1 2 1 2

Laplacian 9 titik II

28 Contoh :
250 240 180 180 160 240 200 160 140 130 200 180 160 120 100 200 150 150 120 80 180 150 120 100 60

f(2,2) = 160

Roberts Diagonal1 = K1(x,y) = | (1*160) + (0*150) + (0*120) + (1*120) | = 40 atau pakai cara praktis |160 120 | = 40 Diagonal2 = K2(x,y) = | (0*160) + (1*150) + (1*120) + (0*120) | = 30 atau pakai cara praktis |150 120 | = 30 Maka h(2,2) bila menggunakan : K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) = 40 + 30 = 70 K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) = 40 K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 = (40 + 30)/2 = 35 K0(x,y) = K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y) = (40*40)+(30*30) = 50 Prewitt Horisontal = K1(x,y) = | (1*200) + (1*160) + (1*140) + (1*150) + (1*150) + (1*120) | = | 80 | = 80 Vertikal = K2(x,y) = | (1*200) + (1*180) + (1*150) + (1*140) + (1*120) + (1*120) | = | 150 | = 150 Maka h(2,2) bila menggunakan : K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) = 80 + 150 = 230 K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) = 150 K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 = (80 + 150)/2 = 115 K0(x,y) = K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y) = (80*80)+(150*150) = 170 Sobel Horisontal = K1(x,y) = | (1*200) + (2*160) + (1*140) + (1*150) + (2*150) + (1*120) | = | 90 | = 90 Vertikal = K2(x,y) = | (1*200) + (2*180) + (1*150) + (1*140) + (2*120) + (1*120) | = | 210 | = 210 Maka h(2,2) bila menggunakan : K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) = 90 + 210 = 300 255 K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) = 210 K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 = (90 + 210)/2 = 150 K0(x,y) = K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y) = (90*90)+(210*210) = 228,4 228 Isotropik Horisontal = K1(x,y) = |(1*200) + (2*160) + (1*140) + (1*150) + (2*150) + (1*120)| = | 84 | = 84 Vertikal = K2(x,y) = |(1*200) + (2*180) + (1*150) + (1*140) + (2*120) + (1*120)| = | 177 | = 177 Maka h(2,2) bila menggunakan : K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) = 84 + 177 = 261 255 K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) = 177 K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 = (84 + 177)/2 = 130,5 131 K0(x,y) = K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y) = (84*84)+(177*177) = 195,9 196

29
Laplacian 9 titik I K1(x,y) = | (1*200) + (1*180) + (1*150) + (1*160) + (8*160) + (1*150) + (1*140) + (1*120) + (1*120) | = 60 Maka h(2,2) = 60

citra asli

Roberts dengan nilai maksimum

Prewitt dengan nilai maksimum

Sobel dengan nilai maksimum

Isotropik dengan nilai maksimum

Laplacian dengan 9 titik I

2. PENGHALUSAN CITRA (Smoothing) Penghalusan citra dilakukan dengan memberikan nilai yang sama kepada semua bobot pada mask yang digunakan. Mask yang dapat dipakai :
1/5 1/5 1/5 1/5 1/5 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25

5 titik bertetangga

9 titik bertetangga (3 x 3)

25 titik bertetangga (5 x 5) Contoh :


250 240 180 180 160 240 200 160 140 130 200 180 160 120 100 200 150 150 120 80 180 150 120 100 60

f(2,2) = 160 Bila menggunakan mask 5 titik bertetangga maka h(2,2) = (1/5 * 180) + (1/5 * 160) + (1/5 * 160) + (1/5 * 150) + (1/5 * 120) = 154 Bila menggunakan mask 3 x 3 maka h(2,2) = (1/9 * 200) + (1/9 * 180) + (1/9 * 150) + (1/9 * 160) + (1/9 * 160) + (1/9 * 150) + (1/9 * 140) + (1/9 * 120) + (1/9 * 120) = 153,3 153

30

citra asli

citra hasil dengan mask 3 x 3

3. PENAJAMAN CITRA (Sharping) Operasi penajaman citra pada dasarnya penjumlahan atas citra tepi (hasil dari deteksi tepi) dengan citra aslinya, sehingga bagian tepi objek terlihat lebih berbeda dengan latarnya dan citra terkesan lebih tajam Mask yang dapat dipakai :
0 0 1 + 4 0 0 1 + 8

5 titik

9 titik

Banyaknya penambahan komponen citra tepi diatur dengan suatu nilai derajat penajaman (), sehingga dengan mengatur nilai maka tingkat ketajaman citra dapat disesuaikan dengan keinginan kita
250 240 180 180 160 240 200 160 140 130 200 180 160 120 100 200 150 150 120 80 180 150 120 100 60

f(2,2) = 160 , = 1 Bila menggunakan mask 5 titik maka h(2,2) = (0 * 200) + (1 * 180) + (0 * 150) + (1 * 160) + ((1+4(1)) * 160) + (1 * 150) + (0 * 140) + (1 * 120) + (0 * 120) = 190 Bila menggunakan mask 9 titik maka h(2,2) = (1 * 200) + (1 * 180) + (1 * 150) + (1 * 160) + ((1+8(1)) * 160) + (1 * 150) + (1 * 140) + (1 * 120) + (1 * 120) = 220

citra asli

citra hasil dengan mask 5 titik =1

citra hasil dengan mask 9 titik =1

31
4. REDUKSI NOISE Banyak cara untuk reduksi noise, salah satunya dengan operasi median Nilai keabuan dari titik-titik di dalam jendela diurutkan dari nilai terkecil sampai dengan terbesar, kemudian ditentukan mediannya Nilai median adalah nilai yang berada paling tengah dari urutan. Operasi median dapat menggunakan mask tanpa bobot dengan ukuran sesuai yang dikehendaki, misal 3 x 3 , 5 x 5 , 7 x 7 , atau 1 x 5, 5 x 3, dll
250 240 180 180 160 240 200 160 140 130 200 180 160 120 100 200 150 150 120 80 180 150 120 100 60

f(2,2) = 160 Bila menggunakan operasi median 3 x 3 maka h(2,2) = median (120,120,140,150,150,160,160,180,200) = 150

citra asli ada noise

citra hasil dengan reduksi noise operasi median 3 x 3

5. EFEK EMBOSS Efek emboss = kesan timbul pada objek dalam citra Mask yang dapat digunakan :
0 1 0 0 1 0

dari arah kiri

dari arah kanan atas

Parameter (derajat emboss) digunakan untuk mengatur seberapa banyak efek timbul akan diberikan f(2,2) = 160 , = 2 Bila menggunakan mask dari arah kiri maka h(2,2) = (2 * 200) + (0 * 180) + (2 * 150) + (2 * 160) + (1 * 160) + (2 * 150) + (2 * 140) + (0 * 120) + (2 * 120) = 0 Bila menggunakan mask dari arah kanan atas maka h(2,2) = (0 * 200) + (2 * 180) + (2 * 150) + (2 * 160) + (1 * 160) + (2 * 150) + (2 * 140) + (2 * 120) + (0 * 120) = 40

250 240 180 180 160

240 200 160 140 130

200 180 160 120 100

200 150 150 120 80

180 150 120 100 60

32

citra asli

citra hasil dengan mask dari arah kiri =2

citra hasil dengan mask dari arah kanan atas =2

33
PEMAMPATAN CITRA (IMAGE COMPRESSION)

Semakin besar ukuran citra, semakin besar memori yang dibutuhkan. Namun kebanyakan citra mengandung duplikasi data, yaitu : - suatu piksel memiliki intensitas yang sama dengan dengan piksel tetangganya, sehingga penyimpanan setiap piksel memboroskan tempat - citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulangkali karena mubazir atau redundan Contoh : citra langit biru dengan beberapa awan putih banyak intensitas piksel dan region yang sama Pemampatan citra / kompresi citra bertujuan meminimalkan kebutuhan memori untuk merepresentasikan citra digital dengan mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit daripada representasi citra semula. Manfaat kompresi citra : - Waktu pengiriman data pada saluran komunikasi data lebih singkat Contoh : pengiriman gambar dari fax, videoconferencing, handphone, download dari internet, pengiriman data medis, pengiriman dari satelit, dsb - Membutuhkan ruang memori dalam storage lebih sedikit dibandingkan dengan citra yang tidak dimampatkan Metode kompresi yang diharapkan : - Proses kompresi dan dekompresinya cepat Proses kompresi : citra dalam representasi tidak mampat dikodekan dengan representasi yang meminimumkan kebutuhan memori. Citra terkompresi disimpan dalam file dengan format tertentu, misal JPEG (Joint Photographic Experts Group) proses dekompresi : citra yang sudah dimampatkan dikembalikan lagi (decoding) menjadi representasi yang tidak mampat. Diperlukan bila citra tersebut ditampilkan ke layar / disimpan dalam format tidak mampat (bentuk bitmap(BMP)) Memori yang dibutuhkan seminimal mungkin Ada metode yang berhasil kompresi dengan persentase besar, ada yang kecil. Ukuran memori hasil kompresi juga bergantung pada citra itu sendiri, yaitu citra yang mengandung banyak elemen duplikasi biasanya berhasil dikompresi dengan memori yang lebih sedikit. Contoh : citra langit biru tanpa awan dibandingkan dengan citra pemandangan alam (mengandung banyak objek) Kualitas citra hasil kompresi harus bagus (fidelity) Informasi yang hilang akibat kompresi seharusnya seminimal mungkin sehingga kualitas hasil kompresi bagus. Tetapi biasanya kualitas kompresi bagus bila proses kompresi menghasilkan pengurangan memori yang tidak begitu besar, demikian sebaliknya. Mengukur kualitas hasil kompresi dengan PSNR (peak signal to noise ratio) b PSNR = 20 x log10 rms
rms =
N M 1 ( f ij f 'ij ) 2 tinggixlebar i =1 j =1

b rms f f

= = = =

sinyal terbesar (pada citra hitam putih, b = 255) akar pangkat dua dari selisih antara citra semula dengan citra hasil kompresi nilai piksel citra semula nilai piksel citra kompresi

PSNR memiliki satuan decibel (dB). Semakin besar PSNR, semakin bagus kualitas kompresi. proses transfer dan penyimpanannya mudah

34 Pendekatan yang digunakan untuk kompresi : 1. Pendekatan statistik (statistical compression) 2. Pendekatan ruang (spatial compression) 3. Pendekatan kuantisasi (quantizing compression) 4. Pendekatan fraktal (fractal compression) : tidak dibahas 5. Pendekatan transformasi wavelet (wavelet compression) : tidak dibahas Berdasarkan hasilnya, ada 2 kelompok besar metode kompresi : 1. Lossless Compression Kompresi citra dimana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya ratio kompresi citra metode ini sangat rendah. Metode ini cocok untuk kompresi citra yang mengandung informasi penting yang tidak boleh rusak akibat kompresi, misal kompresi citra hasil diagnosa medis.
Ratio = 100% ( ukuran citra hasil kompresi x100%) ukuran citra asli

2. Lossy Compression Kompresi citra dimana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya karena ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata. Mata tidak dapat membedakan perubahan kecil pada gambar. Metode ini menghasilkan ratio kompresi yang lebih tinggi daripada metode lossless. 1. STATISTICAL COMPRESSION (Metode Huffman) Termasuk metode lossless compression Pengkodean citra berdasarkan pada derajat keabuan (gray level) dari piksel-piksel dalam keseluruhan image Nilai atau derajat keabuan yang sering muncul di dalam citra akan dikodekan dengan jumlah bit yang lebih sedikit sedangkan nilai keabuan yang frekuensi kemunculannya sedikit dikodekan dengan jumlah bit yang lebih panjang. Algoritma metode Huffman : 1. Urutkan secara menaik nilai keabuan berdasarkan frekuensi kemunculannya atau peluang kumunculan yaitu frekuensi kemunculan dibagi dengan jumlah piksel dalam citra (pk = nk/n). Setiap nilai keabuan dinyatakan sebagai pohon bersimpul tunggal dan setiap simpul diassign dengan frekuensi kemunculan nilai keabuan tersebut. 2. Gabung 2 buah pohon yang mempunyai frekuensi kemunculan paling kecil pada sebuah akar. Akar mempunyai frekuensi yang merupakan jumlah dari frekuensi 2 pohon penyusunnya. Perhatikan : frekuensi dengan nilai lebih kecil diletakkan di sisi kiri 3. Ulangi langkah 1 dan 2 sampai tersisa 1 pohon biner. 4. Beri label setiap sisi pada pohon biner, label sisi kiri = 0, label sisi kanan = 1. 5. Telusuri pohon biner dari akar ke daun. Barisan label-label sisi dari akar ke daun menyatakan kode Huffman untuk derajat keabuan yang bersesuaian.

Contoh : citra ukuran 64 x 64 dengan 8 derajat keabuan (k) jumlah seluruh piksel (n) = 64 x 64 = 4096
K 0 1 2 3 4 5 6 7 nk 790 1023 850 656 329 245 122 81 P(k) = nk/n 0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02

Langkah 1 :

7 : 0,02

6 : 0,03

5 : 0,06

4 : 0,08

3 : 0,16

0 : 0,19

2 : 0,21

1 : 0,25

35
Langkah 2 :

76 : 0,05

5 : 0,06

4 : 0,08

3 : 0,16

0 : 0,19

2 : 0,21

1 : 0,25

7 : 0,02

6 : 0,03

Langkah 3 : Ulangi langkah 1 & 2 sampai tersisa 1 pohon biner Ingat, frekuensi yang lebih kecil diletakkan di sisi kiri

4 : 0,08

765 : 0,11

3 : 0,16

0 : 0,19

2 : 0,21

1 : 0,25

76 : 0,05

5 : 0,06

7 : 0,02

6 : 0,03

3 : 0,16

4765 : 0,19

0 : 0,19

2 : 0,21

1 : 0,25

4 : 0,08

765 : 0,11 5 : 0,06

76 : 0,05

7 : 0,02

6 : 0,03

0 : 0,19

2 : 0,21

1 : 0,25

34765 : 0,35

3 : 0,16

4765 : 0,19

4 : 0,08

765 : 0,11 5 : 0,06

76 : 0,05

7 : 0,02

6 : 0,03

Dengan formasi seperti diatas, pilih 2 frekuensi terkecil, kemudian gabungkan dan urutkan secara menaik.

36 1 : 0,25 34765 : 0,35 02 : 0,40 0 : 0,19 2 : 0,21

3 : 0,16

4765 : 0,19

4 : 0,08

765 : 0,11 5 : 0,06

76 : 0,05

7 : 0,02

6 : 0,03

02 : 0,40 0 : 0,19 2 : 0,21 1 : 0,25

134765 : 0,60

34765 : 0,35

3 : 0,16

4765 : 0,19

4 : 0,08

765 : 0,11 5 : 0,06

76 : 0,05

7 : 0,02 02134765 : 1 134765 : 0,60

6 : 0,03

02 : 0,40 0 : 0,19 2 : 0,21 1 : 0,25

34765 : 0,35

3 : 0,16

4765 : 0,19

4 : 0,08

765 : 0,11 5 : 0,06

76 : 0,05

7 : 0,02 Karena sudah tersisa 1 pohon, lakukan langkah 4.

6 : 0,03

37
Langkah 4 :

Beri label 0 untuk sisi kiri, sisi kanan label 1

02134765 : 1
0 1

02 : 0,40
0 1 0

134765 : 0,60
1

0 : 0,19

2 : 0,21

1 : 0,25
0

34765 : 0,35
1

3 : 0,16
0

4765 : 0,19
1

4 : 0,08
0

765 : 0,11
1

76 : 0,05
0 1

5 : 0,06

7 : 0,02

6 : 0,03

Langkah 5 : Telusuri pohon biner dari akar ke daun untuk menentukan kode Huffman yang sesuai dengan derajat keabuan.

Derajat keabuan 0 1 2 3 4 5 6 7

Kode Huffman 00 10 01 110 1110 11111 111101 111100

Ukuran 2 bit 2 bit 2 bit 3 bit 4 bit 5 bit 6 bit 6 bit

Banyaknya piksel 790 1023 850 656 329 245 122 81

Ukuran citra setelah kompresi = (790 x 2 bit) + (1023 x 2 bit) + (850 x 2 bit) + (656 x 3 bit) + (329 x 4 bit) + (245 x 5 bit) + (122 x 6 bit) + (81 x 6 bit) = 11053 bit Ukuran citra sebelum kompresi = 4096 piksel x 3 bit = 12288 bit
Tiap piksel berukuran 3 bit, diperoleh dari 2 3 = 8 derajat keabuan (nilai intensitas piksel 0 s/d 7) Misal 256 derajat keabuan berarti nilai intensitas piksel 0 s/d 255, tiap piksel berukuran 8 bit (1 byte ) diperoleh dari 2 8 = 256

Ratio kompresi = 100% (

ukuran citra hasil kompresi x100%) ukuran citra asli 11053 = 100% ( x100%) 12288 = 10%, artinya citra semula telah dimampatka n sebanyak10%

38
2. SPATIAL COMPRESSION (Metode Run Length Encoding / RLE) Cocok digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama Metode ini dilakukan dengan menyatakan seluruh baris citra menjadi sebuah baris run, lalu menghitung run length untuk setiap derajat keabuan yang berurutan Contoh sebuah citra sebagai berikut :

1 1 1 1 -

2 3 1 1

1 4 3 1

1 4 3 1

1 4 3 3

1 4 5 3
ada 24 nilai

Dinyatakan dalam barisan nilai derajat keabuan : 1 2 1 1 1 1 1 3 4 4 4 4 1 1 3 3 3 5 1 1 1 1 3 3

Hitung run-length untuk setiap derajat keabuan yang berurutan yaitu hitung jumlah kemunculan datanya (1,1) (2,1) (1,5) (3,1) (4,4) (1,2) (3,3) (5,1) (1,4) (3,2) Hasil pengkodean 1 1 2 1 15 3 1 4 4 1 2 3 3 5 1 1 4 3 2
ada 20 nilai, jadi berkurang 4 nilai

Metode RLE dapat dikombinasikan dengan metode Huffman untuk meningkatkan ratio kompresi. Mula-mula lakukan kompresi RLE lalu hasilnya dimampatkan lagi dengan Huffman.

3. QUANTIZING COMPRESSION Termasuk metode lossy compression karena mereduksi jumlah derajat keabuan yang ada pada citra sehingga banyak informasi yang hilang, misal dari 256 menjadi 16. Algoritma kuantisasi : 1. Misal P adalah jumlah piksel dalam citra semula, buat histogram citra semula (citra yang akan dikompresi) 2. Identifikasi n kelompok di dalam histogram sehingga setiap kelompok mempunyai kira-kira P/n buah piksel 3. Nyatakan setiap kelompok dengan derajat keabuan 0 sampai n-1. Setiap piksel di dalam kelompok dikodekan kembali dengan nilai derajat keabuan yang baru. Contoh : citra 5 x 13, 16 derajat keabuan (4 bit)

2 3 3 3 2

9 8 8 9 0

6 5 4 4 4

4 4 7 7 3

8 7 4 2 8

2 6 9 7 9

6 3 2 6 5

3 8 3 2 4

8 2 8 1 7

5 8 2 6 1

9 4 7 5 2

3 7 4 3 8

7 3 9 0 3

Langkah 1 : Banyaknya piksel citra = 65 Buat histogramnya : Derajat keabuan 0 1 2 3 4 5 6 7 8 9

Jumlah piksel 2 2 9 11 9 4 5 8 9 6

39
Langkah 2 : Misal akan dikompresi dari 16 menjadi 4 derajat keabuan (2 bit) yaitu nilai keabuan 0 s/d 3, maka dibuat n buah kelompok yaitu 4. Tiap kelompok rata-rata ada 65/4 = 16,25 piksel (bisa lebih bisa kurang)
Kelompok 1 2 3 4 Nilai keabuan 0 1 2 3 4 5 6 7 8 9 Jumlah piksel 2 2 9 11 9 4 5 8 9 6 Jumlah piksel dalam kelompok 13 20 17 15

Langkah 3 : Setiap piksel didalam kelompok dikodekan dengan nilai keabuan yang baru yaitu 0 s/d 3
Kelompok 1 2 3 4 Nilai keabuan lama 0 1 2 3 4 5 6 7 8 9 Nilai keabuan baru 0 1 2 3

Citra setelah kompresi : 0 1 1 1 0 3 3 3 3 0 2 2 1 1 1 1 1 2 2 1 3 2 1 0 3 0 2 3 2 3 2 1 0 2 2 1 3 1 0 1 3 0 3 0 2 2 3 0 2 0 3 1 2 2 0 1 2 1 1 3 2 1 3 0 0

Ratio kompresi = 100% (

ukuran citra hasil kompresi x100%) ukuran citra asli 130 = 100% ( x100%) 260 = 50%, artinya citra semula telah dimampatka n sebanyak50%

citra asli

citra setelah kompresi dengan metode lossy, ada sedikit perubahan, lebih jelas citra asli

40
SEGMENTASI

Dalam melakukan pengenalan sebuah objek di antara banyak objek dalam citra, komputer harus melakukan proses segmentasi terlebih dahulu. Segmentasi = - memisahkan citra menjadi bagian-bagian yang diharapkan merupakan objek-objek tersendiri. - membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan tertentu antara derajat keabuan suatu piksel dengan derajat keabuan piksel-piksel tetangganya.

Citra asli

Citra hasil segmentasi

Ada bermacam-macam teknik segmentasi, semuanya digolongkan dalam 2 jenis berdasarkan cara kerjanya, yaitu : 1. Segmentasi berdasarkan intensitas warna (derajat keabuan) 2. Segmentasi berdasarkan karakteristik

1. SEGMENTASI BERDASARKAN INTENSITAS WARNA Berasumsi bahwa objek-objek yang akan dipisahkan cenderung memiliki intensitas warna yang berbeda-beda dan masing-masing objek memiliki warna yang hampir seragam Salah satu teknik segmentasi berdasarkan intensitas warna adalah mean clustering Pada mean clustering dilakukan pembagian citra dengan membagi histogram citra Berikut langkah-langkahnya : 1. Cari intensitas maksimum dan minimum yang digunakan dalam citra 2. Dari intensitas minimum ke maksimum dilakukan pembagian sejumlah N. N ini menentukan jumlah objek yang diharapkan ada pada gambar. 3. Setelah dilakukan pembagian, histogram akan terbagi menjadi bagian-bagian yang disebut cluster (kelompok). Kemudian pada citra dilakukan penelusuran untuk seluruh titik, setiap titik akan digrupkan ke cluster terdekat sehingga hasil akhir dari proses ini adalah jumlah warna pada gambar menjadi N. 4. Cari hasil rata-rata / mean dari seluruh titik pada setiap cluster, kemudian mengganti warna seluruh titik dalam cluster-cluster tersebut dengan rata-rata dari cluster masing-masing.

Pembagian histogram citra menjadi 3 cluster (N = 3) Max Cluster 1 Cluster 2 Cluster 3 Hasil akhir dari proses clustering, seluruh titik pada tiap cluster diganti dengan ratarata dari cluster sehingga menghasilkan citra dengan 3 (N) warna Max Cluster 1 Cluster 2 Cluster 3

Min

Min

41 Kelemahannya : - Harus tahu dengan tepat berapa jumlah objek yang ada pada citra - Citra hasil kurang bagus jika pada citra terdapat beberapa objek dengan warna pada masingmasing objeknya bervariasi atau pada setiap objek memiliki warna yang sama.

2. SEGMENTASI BERDASARKAN KARAKTERISTIK Cara lain yang biasa digunakan adalah berdasarkan karakteristik objek pada citra Yaitu mengelompokkan bagian-bagian citra yang memiliki karakteristik yang sama berupa perubahan warna antara titik yang berdekatan, nilai rata-rata dari bagian citra tersebut. Untuk menghitung/menentukan karakteristik digunakan perhitungan statistik seperti varian, standard deviasi, teori probabililitas, fourier transform, dll Salah satu teknik segmentasi berdasarkan karakteristik adalah split and merge (membagi kemudian menggabungkan) Berikut langkah-langkahnya : 1. Bagi citra menjadi 4 bagian 2. Dari 4 bagian tersebut dilakukan perhitungan karakteristik masing-masing. 3. Bagian dari citra yang memiliki karakteristik yang sama akan digabungkan dan dianggap satu bagian, sedangkan yang tidak, akan dibagi lagi menjadi 4 bagian dan dilakukan perhitungan karakteristik dan dilakukan lagi proses penggabungan bagian yang sama. Demikian seterusnya sehingga diperoleh hasil dari proses segmentasi Proses tersebut adalah proses rekursif karena pada setiap saat dilakukan proses yang sama tetapi dengan data yang selalu berubah

Daerah yang terdeteksi memiliki karakteristik yang sama adalah daerah yang diarsir.

Citra asli

Saat proses split & merge

Citra hasil

42
STEGANOGRAFI DAN WATERMAKING

Steganografi (steganography) = teknik menyembunyikan data rahasia di dalam media digital sehingga keberadaan data rahasia tersebut tidak diketahui oleh orang / sulit dideteksi Media digital sebagai wadah penampung bisa berupa citra, suara, teks, video Data rahasia yang disembunyikan bisa berupa citra, suara, teks, video Watermaking pada citra adalah aplikasi dari steganografi dimana citra digital diberi suatu penanda yang menunjukkan label kepemilikan citra tersebut. Perbedaan steganografi & watermaking Steganografi : informasi rahasia disembunyikan dalam media digital dimana media penampung tidak berarti apa-apa Watermaking : yang dilindungi adalah media penampungnya (media digital), dilindungi kepemilikannya dengan pemberian label hak cipta (watermark) Sejarah steganografi & watermaking - Penguasa Yunani mengirimkan pesan rahasia menggunakan kepala budak/prajurit sebagai media. Kepala budak/prajurit dibotaki, pesan rahasia ditulis pada kepalanya. Ketika rambut sudah tumbuh, orang tersebut diutus untuk membawa pesan rahasia di kepalanya. - Bangsa Romawi menggunakan tinta tak tampak untuk menuliskan pesan, terbuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan diatas kertas dapat dibaca dengan cara memanaskan kertas tersebut. - Akhir abad 13, pabrik kertas di Italia membuat kertas yang diberi watermark (tanda air) dengan cara menekan bentuk cetakan gambar / tulisan pada kertas yang baru setengah jadi. Ketika kertas dikeringkan akan terbentuk suatu kertas yang berwatermark. Biasanya digunakan oleh seniman/sastrawan untuk menulis karya mereka. Kertas yang sudah dibubuhi tanda air tersebut dijadikan identifikasi bahwa karya seni diatasnya adalah milik mereka. - Pengembangan watermark pada data digital tahun 1990 di Jepang dan Swiss tahun 1993. Kriteria penyembunyian data (steganografi) yang bagus : - Fidelity Setelah penambahan data rahasia, mutu citra penampung tidak jauh berubah, masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia. - Robustness Data yang disembunyikan harus tahan (robust) terhadap berbagai operasi manipulasi yang dilakukan pada citra penampung, seperti pengubahan kontras, penajaman, kompresi, zoom, cropping, dsb. Data yang disembunyikan seharusnya tidak rusak dan tetap valid jika diekstraksi kembali. - Recovery Data yang disembunyikan harus dapat diambil kembali untuk digunakan lebih lanjut. Teknik penyembunyian data - Dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit data rahasia - Banyak metode penyembunyian data diantaranya yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification) - Pada susunan bit dalam 1 byte (8 bit) ada bit yang paling berarti (Most Significant Bit / MSB) dan bit yang paling kurang berarti (Least Significant Bit / LSB) - Misal pada byte 11010010 LSB Penggantian dilakukan pada bit LSB, karena hanya mengubah nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Jadi perubahan 1 bit LSB tidak mengubah warna tersebut secara berarti, mata manusia tidak dapat membedakan perubahan yang kecil. Misal segmen piksel-piksel citra sebelum penambahan bit-bit watermark : 00110011 10100010 11100010 01101111 Misal data rahasia 0111, maka setiap bit dari watermark menggantikan posisi LSB dari segmen data citra menjadi : MSB

43 00110010 10100011 11100011 01101111

Untuk memperkuat penyembunyian data, dipilih susunan byte secara acak. Misal terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka byte yang diganti bit LSBnya dipilih secara acak, misal byte nomor ke 36, 5, 21, 10, 18, 49. Bilangan acak dibangkitkan dengan pseudo-random-number-generator (PRNG) PRNG menggunakan kunci rahasia untuk membangkitkan posisi piksel yang akan digunakan untuk menyembunyikan bit-bit. PRNG dibuat menggunakan algoritma kriptografi DES (Data Encryption Standard), algoritma hash MD5, kriptografi CFB (Chiper Feedback Mode), dsb. Tujuan dari enkripsi adalah menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama.

Teknik pengungkapan data - Posisi byte yang menyimpan bit data rahasia diketahui dari bilangan acak yang dibangkitkan oleh PRNG - Digunakan kunci yang sama untuk membangkitkan bilangan acak - Bilangan acak yang dihasilkan sama dengan bilangan acak yang dipakai pada waktu penyembunyian data, sehingga bit-bit data rahasia yang bertaburan pada citra dapat dikumpulkan kembali.

Data yang disembunyikan dalam bentuk citra Citra asli Citra terwatermark, terlihat tidak ada perubahan yang berarti

44

REFERENSI
1. Rafael C. Gonzalez and Richard E. Woods, Digital Image Processing, Addison-Wesley Publishing, 2002 2. Ioannis Pitas, Digital Image Processing Algorithms, Prentice-Hall International, 1993 3. Rinaldi Munir, Pengolahan Citra Digital dengan Pendekatan Algoritmik, Informatika Bandung, 2004 4. Balza Achmad, Kartika Firdausy, Teknik Pengolahan Citra Digital Menggunakan Delphi, Ardi Publishing, 2005 5. Agustinus Nalwan, Pengolahan Gambar Secara Digital, Elex Media Komputindo, 1997 6. Achmad Basuki, Jozua F. Palandi, Fatchurrochman, Pengolahan Citra Digital Menggunakan Visual Basic, Graha Ilmu, 2005 7. Edy Mulyanto, Catatan Kuliah Pengolahan Citra, Teknik Informatika Udinus, 2007

You might also like