Anda di halaman 1dari 45

MODUL

PENGOLAHAN CITRA DIGITAL

AKADEMI TEKNIK RADIODIAGNOSTIK DAN RADIOTERAPI


ATRO BALI
2019
1
PENGOLAHAN CITRA DIGITAL
(DIGITAL IMAGE PROCESSING)

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 tampak (foto, gambar, lukisan, apa yang nampak di layar
Citra 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).

Citra Citra Citra digital Informasi /


nondigital Pencitraan digital Pengolahan (baru) Analisis keputusan
citra citra

 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 primitif-
primitif 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 Grafika Citra


deskriptif Komputer

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)

Pengolahan Citra
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.

Pengenalan Informasi / deskripsi objek


Citra
Pola

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
4

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
5

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)
6

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

(2,3)
3 (5,2)

(0,0) X
1 2 3 4 5

Koordinat Piksel = koordinat tampilan di layar monitor

(0,0)
X

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

3 (5,2)

Y
8

Koordinat Matriks (y=baris, x=kolom)

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

3 (2,3)

5
(5,2)

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  N-1
M = jumlah kolom 0  x  M-1
L = maksimal warna intensitas 0  f(x,y)  L - 1
(derajat keabuan / gray level)

f ( 0 , 0 ) f(0,1) f ( 0 , M 1 ) 


 
f(1,0) f ( 1 , 1) f ( 1 , M 1 )
f ( x , y )  
 : : : : 
 
f ( N 1 , 0 f ( N 1 , 1 ) f ( N 1 , M 1 ) 
) 
x
derajat keabuan
kolom/lebar = 5 (0,0)
0 1 2 3 4
0 1 1 1 0
0
0 1 0 1 0
1
0 1 1 1 0
2
0 1 0 1 0
3
0 1 0 1 0
4
contoh :
baris/tinggi=5 f(2,3) = 1  berdasarkan koordinat matriks,
y isi/data citra digital sebenarnya
piksel 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 188 181 185 180 147 140 149 155 138 144 144 145
199 200 201 188 139 132 147 150 143 123 112 102 117
207 221 222 136 90 111 125 145 140 138 122 104 97
231 219 200 90 65 84 84 107 95 92 92 99 89
227 223 181 74 72 89 92 86 77 63 50 55 65
217
208
211
195
166
179
85
131
47 75
54 68
82
66
83
72
75
46
42 42
21 15
39
24
40
19 =
198 187 181 141 53 54 55 59 37 21 37 66 90
195 184 170 134 52 38 42 45 35 43 98 152 172
186 175 171 169 100 34 34 27 44 85 139 170 184
167 156 142 144 112 48 32 46 84 133 166 172 186
142 139 131 120 108 67 30 76 102 123 153 171 178
145 134 128 125 117 70 38 91 101 105 125 146 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
Angka- Input
angka dari
matriks

Program pembuka citra


Ditampilkan di layar
(Paint, ACDSee, Photoshop, dll)

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
jumlah kemungkinan 24 = 16 warna
kemungkinan warna 0 (min) sampai 15 (max)

skala keabuan 8 bit


jumlah kemungkinan 28 = 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


 Jumlah kemungkinan kombinasi warna 224 = lebih dari 16 juta warna  24 bit  disebut true
color karena dianggap mencakup semua warna yang ada.

Citra warna
= 255 255 255 0 0 0 128 128 128 128 128 0
= 0 255 255 0 0 0 204 255 255 0 0 255
= 150 150 150 51 51 51 255 255 255 95 95 95
= 255 204 153 255 204 153 128 0 0 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 R G B
0 0 0 0
= 4 0 12 1 51 52 60
= 4 4 4 ….
4 255 255 255
….
10 250 10 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) , dengan xc nilai koordinat garis tengah citra.


x’ - xc = - x + xc
x’ = 2xc - x w = lebar citra
Citra w-1
xc = = (w-1)/2
2
Karena xc = (w-1)/2
Maka : Garis tengah citra (xc)
x’ = 2 ((w-1)/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)

 Pencerminan Vertical : y’ = h - 1 - y
x’ = x (nilai koordinat x tetap)

 Pencerminan Kombinasi : x’ = w - 1 - x
y’ = h - 1 - y

citra asli pencerminan pencerminan pencerminan


horizontal vertical kombinasi
19
2. ROTASI (ROTATING)
 Operasi rotasi dengan memutar koordinat yang akan dibahas adalah rotasi ¼ putaran (90 0) dan
½ putaran (1800).
 Rotasi ¼ putaran (900) searah jarum jam (CW/clock wise)

w’ = h dan h’ = w  pertukaran ukuran lebar & tinggi citra x’ =


w’ - 1 - y
y’ = x

 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 :
0 xL xR
x’ = x - xL untuk x = xL sampai xR 0
y’ = y - yT untuk y = yT sampai yB
(xL,yT) dan (xR,yB) adalah koordinat titik pojok kiri atas
dan pojok kanan bawah citra yang akan di-crop yT
h’
Ukuran citra menjadi : w’ = xR - xL
h’ = yB - YT 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 : citra asli
Sh = faktor skala horisontal
Sv = faktor skala vertikal

Ukuran citra juga berubah menjadi :


w’ = Sh w
h’ = Sv h
 Operasi zoom in dengan faktor 2 (Sh=Sv=2)  menyalin setiap piksel Sh = 1 Sv = 2
sebanyak 4 kali, jadi citra 2 x 2 piksel menjadi 4 x 4 piksel
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 C(x,y) = A(x,y) + B(x,y)


Pengurangan C(x,y) = A(x,y) - B(x,y)
Perkalian C(x,y) = A(x,y) * B(x,y)
Pembagian C(x,y) = A(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 hasil mendeteksi gerakan :


citra A citra B  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 B(x,y) AND OR XOR


C(x,y) = A(x,y) OR B(x,y) 0 0 0 0 0
C(x,y) = A(x,y) XOR B(x,y) 0 1 0 1 1
C(x,y) = A(x,y) SUB B(x,y) 1 0 0 1 1
1 1 1 1 0
C(x,y) = NOT A(x,y)

 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

NOT A
citra A citra B A SUB B
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

0 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 
 wh 
 
Ci = cacah/distribusi kumulatif nilai skala keabuan ke - i dari citra asli
round = fungsi pembulatan ke bilangan terdekat, misal : 35,4 menjadi 35
Ko = nilai keabuan hasil histogram equalization
w = lebar citra
h = 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

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 Distribusi Nilai keabuan setelah


kumulatif perhitungan rumus, misal :
0 1 0
1 3 1
2 5 2
3 9 4
4 11 5
5 11 5
6 2 6

Data nilai piksel/nilai skala keabuan diatas setelah ekualisasi histogram menjadi :
254146541042
Hisogramnya :
4

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 200 180


240 200 180 150
180 160 160 200
180 140 120 120
160 130 100 100

1 0 -1
2 1 -2
Bobot/mask/
1 0 -1 kernel/filter

Formula yang dipakai SUM OF PRODUCTS :


M N
h(x, y)  f(u, v) g(x u, y v)
x M 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 0 1
-1 0 1
-1 0 1

Operator Prewitt vertikal


-1 -1 -1
0 0 0
1 1 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) | ) (1)

K0(x,y) = max ( | K1(x,y) | , | K2(x,y) | ) (2)

K0(x,y) = ( | K1(x,y) | + | K2(x,y) | ) / 2 (3)

K0(x,y) = √ K1(x,y)* K1(x,y) + K2(x,y) * K2(x,y) (4)

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 200 200 180

240 200 180 150 150 f(2,2) = 160


180 160 160 150 120

180 140 120 120 100

160 130 100 80 60

 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 Prewitt dengan


nilai maksimum nilai maksimum

Sobel dengan Isotropik dengan Laplacian dengan


nilai maksimum nilai maksimum 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/25 1/25 1/25 1/25 1/25
1/5 1/9 1/9 1/9
1/25 1/25 1/25 1/25 1/25
1/5 1/5 1/5 1/9 1/9 1/9
1/25 1/25 1/25 1/25 1/25
1/5 1/9 1/9 1/9
1/25 1/25 1/25 1/25 1/25
5 titik bertetangga 9 titik bertetangga (3 x 3) 1/25 1/25 1/25 1/25 1/25

25 titik bertetangga (5 x 5)
Contoh :

f(2,2) = 160
250 240 200 200 180
240 200 180 150 150 Bila menggunakan mask 5 titik bertetangga maka
h(2,2) = (1/5 * 180) + (1/5 * 160) + (1/5 * 160) +
180 160 160 150 120
(1/5 * 150) + (1/5 * 120)
180 140 120 120 100 = 154
160 130 100 80 60
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 -  -  1 + 8 - 

0 -  0 -  -  - 

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

f(2,2) = 160 ,  = 1
250 240 200 200 180

240 200 180 150 150 Bila menggunakan mask 5 titik maka
h(2,2) = (0 * 200) + (-1 * 180) + (0 * 150) +
180 160 160 150 120
(-1 * 160) + ((1+4(1)) * 160) + (-1 * 150) +
180 140 120 120 100 (0 * 140) + (-1 * 120) + (0 * 120)
= 190
160 130 100 80 60

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 citra hasil


dengan mask 5 titik dengan mask 9 titik
=1 =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 200 200 180 f(2,2) = 160


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

160 130 100 80 60

citra hasil
citra asli ada noise
dengan reduksi noise
operasi median 3 x 3

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

-  0  0 -  - 

-  1   1 - 

-  0    0

dari arah kiri dari arah kanan atas

 Parameter  (derajat emboss) digunakan untuk mengatur seberapa banyak efek timbul akan
diberikan

250 240 200 200 180 f(2,2) = 160 ,  = 2

240 200 180 150 150 Bila menggunakan mask dari arah kiri maka
180 160 160 150 120
h(2,2) = (-2 * 200) + (0 * 180) + (2 * 150) +
(-2 * 160) + (1 * 160) + (2 * 150) +
180 140 120 120 100 (-2 * 140) + (0 * 120) + (2 * 120)
160 130 100 80 60 = 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
32

citra asli citra hasil citra hasil


dengan mask dari arah kiri dengan mask dari arah kanan atas
=2 =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 log 10  
rms 
1 N M
rms 
 f ij f ' ij )
2

(
tinggixleb ar i 1 j 1

b = sinyal terbesar (pada citra hitam putih, b = 255)


rms = akar pangkat dua dari selisih antara citra semula dengan citra hasil kompresi
f = nilai piksel citra semula
f’ = 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.
ukuran citra hasil kompresi
Ratio 100 % ( ukuran citra asli x 100 %)

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 nk P(k) = nk/n
0 790 0.19
1 1023 0.25
2 850 0.21
3 656 0.16
4 329 0.08
5 245 0.06
6 122 0.03
7 81 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

76 : 0,05 5 : 0,06

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

76 : 0,05 5 : 0,06

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

3 : 0,16 4765 : 0,19 0 : 0,19 2 : 0,21

4 : 0,08 765 : 0,11

76 : 0,05 5 : 0,06

7 : 0,02 6 : 0,03

02 : 0,40 134765 : 0,60

0 : 0,19 2 : 0,21 1 : 0,25 34765 : 0,35

3 : 0,16 4765 : 0,19

4 : 0,08 765 : 0,11

76 : 0,05 5 : 0,06

7 : 0,02 6 : 0,03

02134765 : 1

02 : 0,40 134765 : 0,60

0 : 0,19 2 : 0,21 1 : 0,25 34765 : 0,35

3 : 0,16 4765 : 0,19

4 : 0,08 765 : 0,11

76 : 0,05 5 : 0,06

7 : 0,02 6 : 0,03

Karena sudah tersisa 1 pohon, lakukan langkah 4.


37
Langkah 4 : Beri label 0 untuk sisi kiri, sisi kanan label 1

02134765 : 1
0 1

02 : 0,40 134765 : 0,60

0 1 0 1
0 : 0,19 2 : 0,21 1 : 0,25 34765 : 0,35

0 1
3 : 0,16 4765 : 0,19

0 1
4 : 0,08 765 : 0,11
0 1

76 : 0,05 5 : 0,06

0 1
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 Kode Huffman Ukuran Banyaknya piksel


0 00 2 bit 790
1 10 2 bit 1023
2 01 2 bit 850
3 110 3 bit 656
4 1110 4 bit 329
5 11111 5 bit 245
6 111101 6 bit 122
7 111100 6 bit 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

ukuran hasil
Ratio kompresi  % x 100 %)
kompresi
(
ukuran asli
11053
 % ( x 100 %)
12288
 artinyacitra semula telah sebanyak
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 2 1 1 1 1
1 3 4 4 4 4
1 1 3 3 3 5
1 1 1 1 3 3

- Dinyatakan dalam barisan nilai derajat keabuan :


1 21 1111 3444 4113 33511 11 33  ada 24 nilai

- 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 9 6 4 8 2 6 3 8 5 9 3 7
3 8 5 4 7 6 3 8 2 8 4 7 3
3 8 4 7 4 9 2 3 8 2 7 4 9
3 9 4 7 2 7 6 2 1 6 5 3 0
2 0 4 3 8 9 5 4 7 1 2 8 3

Langkah 1 :
Banyaknya piksel citra = 65
Buat histogramnya :
Derajat keabuan Jumlah piksel
0 2
1 2
2 9
3 11
4 9
5 4
6 5
7 8
8 9
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 Nilai Jumlah Jumlah piksel dalam
keabuan piksel kelompok
1 0 2 13
1 2
2 9
2 3 11 20
4 9
3 5 4 17
6 5
7 8
4 8 9 15
9 6

Langkah 3 :
Setiap piksel didalam kelompok dikodekan dengan nilai keabuan yang baru yaitu 0 s/d 3

Kelompok Nilai Nilai


keabuan lama keabuan baru
1 0 0
1
2
2 3 1
4
3 5 2
6
7
4 8 3
9

Citra setelah kompresi :


0 3 2 1 3 0 2 1 3 2 3 1 2
1 3 2 1 2 2 1 3 0 3 1 2 1
1 3 1 2 1 3 0 1 3 0 2 1 3
1 3 1 2 0 2 2 0 0 2 2 1 0
0 0 1 1 3 3 2 1 2 0 0 3 0

ukuran hasil kompresi


Ratio kompresi % ( x100%)
ukuran asli
130
 % 260 x 100 %)
(
 50%, artinyacitra semula telah sebanyak

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
Min
Cluster 1 Cluster 2 Cluster 3

Hasil akhir dari proses clustering, seluruh


titik pada tiap cluster diganti dengan rata-
rata dari cluster sehingga menghasilkan
citra dengan 3 (N) warna

Max
Min
Cluster 1 Cluster 2 Cluster 3
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 masing-
masing 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

MSB 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 :
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

Anda mungkin juga menyukai