Anda di halaman 1dari 205

Workshop Computer Vision

Wawasan dan Trend Penelitian Terkait


Topik Computer Vision

23 November 2021

Universitas Sriwijaya
Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Psychology Citra Medis
Cognition and
Keamanan lalulintas
Neuroscience

Mobil Cerdas

Robot Cerdas Militer

Domain aplikasi
Pengolahan citra/video

Tekni Sipil

Biometrik Pertanian Cerdas


Representasi Citra Digital
Signal audio analog

Audio digital

Digitizer :
- Sampling
- Quantization

video digital
Signal video analog
PAL/SECAM
- 25 frame/second
- 576 lines useful/frame

CNST
- 30 frame/second
- 483 lines useful / frame
Representasi Citra Digital
Digitizer : - Digitalisasi signal analog/continu menjadi
signal digital/diskret
- Melalui proses sampling dan quantization
(kuantisasi) yang dilakukan secara bersamaan.
Sampling : - diskretisasi koordinat signal terhadap satuan waktu
- Banyaknya sampling ditentukan oleh frekuensi
(kecepatan) sampling.
- Makin tinggi frekuensi makin banyak jumlah
sampling, makin banyak informasi yang terrekam
dan kualitas signal mendekati signal aslinya.
- Makin rendah frekuensi makin sedikit jumlah
sampling, makin sedikit informasi yang terrekam
dan kualitas signal semakin rendah
Fréquence d’échantillonnage
• Sampling :
Contoh signal :

Amplitudo

Frekuensi sampling tinggi :


- Kualitas tinggi,
- jumlah data besar
0 x
Frekuensi sampling tinggi

Amplitudo

Frekuensi sampling rendah :


- Kualitas rendah,
- jumlah data kecil
0 x

Frekuensi sampling rendah


Kuantisasi : - Diskretisasi nilai amplitudo dari setiap sampel
hasil sampling.
- Pembagian nilai amplitudo dan pengkodeannya
dalam nilai biner sesuai dengan jumlah bit yang
digunakan.
- Makin banyak jumlah bit, makin banyak variasi
nilai tinggi rendahnya suara (untuk audio) atau
makin banyak variasi warna pada citra/video,
dan kualitas signal atau citra/video mendekati
signal aslinya, namun makin banyak data yang
terrekam.
- Makin sedikit jumlah bit, makin sedikit variasi
nilai tinggi rendahnya suara (untuk audio) atau
makin sedikit variasi warna pada citra/video,
kualitas signal atau citra/video semakin rendah
dan semakin sedikit data yang terrekam.
Fréquence d’échantillonnage
• Kuantisasi :

Amplitudo

Kuantisasi dengan 5 bit


- Variasi nilai amplitudo 25 = 32
- Jumlah data = N*32 bit
N = jumlah sampling
0 x

Amplitudo
Kuantisasi dengan 3 bit
- Variasi nilai amplitudo 23 = 8
- Jumlah data = N*8 bit
- Kualitas intensitas berkurang
0 x
Kualitas Citra :

• Ditentukan oleh resolusi, ukuran dan jumlah bit per


pixel.
• Resolusi :
- Jumlah bit persatuan panjang (ppi = pixels per
inch atau dpi = dot per inch)
- Ditentukan oleh frekuensi sampling
- ppi besar ➔ Lebih kaya informasi spatial
- ppi kecil ➔ kurang kaya informasi spatial
• Definition adalah ukuran citra NxM pixel : N baris dan
M colom.
• Jumlah bit b per pixel menentukan :
- Tingkat intensitas (tingkat keabuan) atau tingkat
variasi warna
- b besar ➔ lebih kaya informasi warna
- b kecil ➔ kurang kaya informasi warna
• Jumlah data citra tingkat keabuan : NxMxb
• Jumlah data citra berwarna : NxMx3xb
• Representasi citra berwarna RGB
- Dinyatakan dalam 3 matriks dua dimensi atau tiga citra
dua dimensi yang masing-masing menyatakan nilai
intensitas warna merah R, hijau G dan biru B.
- Setiap pixel P dinyatakan dengan tiga nilai warna
P = [R V B]
- Setiap nilai warna dikode dengan 8 bit,
- Setiap pixel dikode dengan 24 bit.
Representasi Citra Digital
(data visual)

Citra Berwarna Citra Gray-level Citra Hitam-Putih


(RGB) (Luminance) (“0” & “1”)
Representasi Citra Digital
(data visual)

Definisi Citra
Secara fisik : Representasi informasi pada suatu media;
kertas, film, monitor dll.

Informasi dalam citra :


- informasi dasar (warna, bentuk dan texture)
- informasi abstrak (Cantik, senang, dst.)
- informasi kejadian (pesta, perkawinan, dst.)
Representasi Citra Digital
Secara matematis :
• Fungsi dua dimensi I(x, y) yang menyatakan nilai
intensitas atau warna I pada posisi x,y.
• Citra berwarna ➔ I(m,n,w) ➔ w = (R,G,B [0, 2b-1])
88 73 73 56 40
97 90 88 75 80 134 129 127 114 115
97 90 88 75 80
 I (0,0) I (0,1) . . . I (0, N − 1)  73 84 88 84 66
79 75 73 62 55
 I (1,0) I (1,1) I (1, N − 1)  77 81 94 90 91

  134 129
63
127
69
114
89
115
89 79 110 122 126 120 97
 .  110 122
41
126
55
120
78
97
81 75 73 84 88 84 66
I (m, n) =   107 112 127 121 123 81 77 84 83 78
 .  107 112 127 121 123
88 73 8973 9356 119
40 119 107
 .  79 75 7173 8462 106
55 110 100 77 81 94 90 91
  79 77 78 79 76
 I ( M − 1,0) I ( M − 1,1) . . . I ( M − 1, N − 1) 81 77 84 83 78
79 77 78 79 76 89 93 119 119 107
81 71 91 70 69 63 69 89 89 79
81 71 91 70 69
71 84 106 110 100
41 55 78 81 75
Representasi Citra Digital
Citra gray level :
• Diperoleh dari citra berwarna,
• L = 0.299 R + 0.587 G + 0.114 B
• Citra gray level ➔ I(m,n) = L [0, 2b-1]

 I (0,0) I (0,1) . . . I (0, N − 1)  106 97 96 82 78


 I (1,0) I (1,1) I (1, N − 1) 
  87 94 96 89 73
 . 
I (m, n) =   88 90 102 98 97
 . 
 .  77 80 95 97 87
 
 I ( M − 1,0) I ( M − 1,1) . . . I ( M − 1, N − 1) 64 70 92 87 81
Representasi Citra Digital
Citra Biner :
• Diperoleh dari citra gray level,

1 jika L > Threshold


• B=
0 jika L < Threshold

• Citra biner ➔ I(m,n) = B [0, 1] Threshold < 90


 I (0,0) I (0,1) . . . I (0, N − 1)  1 1 1 0 0
 I (1,0) I (1,1) I (1, N − 1) 
  0 1 1 0 0
 . 
I (m, n) =   0 1 1 1 1
 . 
 .  0 0 1 1 0
 
 I ( M − 1,0) I ( M − 1,1) . . . I ( M − 1, N − 1) 0 0 1 0 0
2.1 HUBUNGAN ANTARA PIXEL DALAM CITRA

PIXEL TETANGGA (neighbors of pixel):

pixel p ➔ koordinat (xp ,yp).


Empat pixel tetangga N4(p) ➔ (xp +1, yp), (xp -1, yp), (xp, yp +1) dan (xp, yp -1)
Empat pixel tetangga ND(p) ➔ (xp +1, yp +1), (xp +1, yp -1), (xp -1, yp +1) dan (xp -1, yp -1)
Delapan tetangga N8(p), Enam belas tetangga N16(p), Dua puluh empat tetangga N24(p)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 16
Oleh: Sarifuddin Madenda
KETERHUBUNGAN ANTAR PIXEL (pixel connectivity):
- Mengunakan defenisi tetangga terdekat N4(p) , ND(p) atau N8(p).
- Dua pixel saling berdekatan dan memiliki nilai intensitas sesuai dengan
spesifikasi tingkat similaritas (sama atau similar). Sebagai contoh misalnya
pixel-pixel yang nilainya ada dalam lingkup V=[99, 101].
- Disebut memiliki connectivity N4(p) bila dua pixel p dan q memiliki nilai dalam V
dan q adalah bagian dari set N4(p).
- Disebut memiliki connectivity ND(p) bila dua pixel p dan q memiliki nilai dalam V
dan q adalah bagian dari set ND(p).
- Disebut memiliki connectivity N8(p) bila dua pixel p dan q memiliki nilai dalam V
dan q adalah bagian dari set N8(p).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 17
Oleh: Sarifuddin Madenda
KETERHUBUNGAN ANTAR PIXEL (pixel connectivity):
- Misalnya nilai keterhubungan antar pixel V=[99, 101] = {99, 100, 101}.

- Keterhubungan N8(p) gambar 2.2-b.


- Gabungan keterhubungan N4(p) dan ND(p) dengan syarat:
(i) q adalah bagian dari N4(p) atau
(ii) q adalah bagian dari ND(p) dan N4(p)∩N4(q) = Ø. (gambar 2.2-c)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 18
Oleh: Sarifuddin Madenda
JARAK ANTARA PIXEL:

untuk a=1 disebut city-block distance dan


untuk a=2 disebut Euclidean distance

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 19
Oleh: Sarifuddin Madenda
2.2 OPERASI ARITMETIKA DAN LOGIKA

OPERASI ARITMETIKA :

- Nilai dinamik pixel: [0, 255], Citra gray-level, citra berwarna


- Ukuran citra P dan citra Q harus sama
- Operasi aritmetika antara dua pixel p dan q <= Nilai dinamik pixel
- Bobot dan normalisasi
Penjumlahan : a.p + b.q
Pengurangan : |p – q| atau |a.p – b.q|
Perkalian : round( (p x q) (255/d))
Pembagian : round( (p ÷ q) (255/d))
d merupakan nilai maksimum dari hasil kali/pembagian citra P dan citra Q,
sedang a dan b merupakan bobot dimana a + b = 1

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 20
Oleh: Sarifuddin Madenda
CONTOH HASIL OPERASI ARITMETIKA :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 21
Oleh: Sarifuddin Madenda
OPERASI LOGIKA:

- Operasi untuk Citra biner


- Ukuran citra P dan citra Q harus sama
NOT : NOT p disebut juga operasi invers
AND : p AND q atau p AND C
NAND : p NAND q atau p NAND C
OR : p OR q atau p OR C
NOR : p NOR q atau p NOR C
XOR : p XOR q atau p XOR C
XNOR : p XNOR q atau p XNOR C

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 22
Oleh: Sarifuddin Madenda
OPERASI LOGIKA: AND NAND
Y = p.q Y = p.q
p q Y p q Y
0 0 0 0 0 1
1 0 0 1 0 1
0 1 0 0 1 1
1 1 1 1 1 0

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 23
Oleh: Sarifuddin Madenda
OPERASI LOGIKA: OR NOR
Y = p+q Y = p+q
p q Y p q Y
0 0 0 0 0 1
1 0 1 1 0 0
0 1 1 0 1 0
1 1 1 1 1 0

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 24
Oleh: Sarifuddin Madenda
OPERASI LOGIKA: XOR XNOR
Y = pq Y = pq
p q Y p q Y
0 0 0 0 0 1
1 0 1 1 0 0
0 1 1 0 1 0
1 1 0 1 1 1

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 25
Oleh: Sarifuddin Madenda
2.3 OPERASI KONVOLUSI
N M ( N −1) / 2 ( M −1) / 2
C = A * B =  A(n, m).B (n, m) =   A(n, m).B(n, m)
n =1, m =1 n = − ( N −1) / 2 , m = − ( M −1) / 2

a = (1x0 + 1x0 + 1x0 + 1x0 + 1x164 + 1x63 + 1x0 +1x120 + 1x135) / 9 = 53,56
b = (1x0 + 1x0 + 1x0 + 1x164 + 1x63 + 1x75 + 1x120 + 1x135 + 1x55) / 9 = 68,0
..
.
y = (1x50 + 1x81 + 1x0 + 1x60 + 1x76 + 1x0 + 1x0 + 1x0 + 1x0) / 9 = 29.67

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 26
Oleh: Sarifuddin Madenda
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 27
Oleh: Sarifuddin Madenda
2.6 MORPHOLOGI MATEMATIKA
DILASI
(DILATION)
CITRA BINER :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 28
Oleh: Sarifuddin Madenda
DILASI CITRA
GRAY LEVEL :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 29
Oleh: Sarifuddin Madenda
EROSI (EROSION) CITRA BINER :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 30
Oleh: Sarifuddin Madenda
EROSI CITRA
GRAY LEVEL :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 31
Oleh: Sarifuddin Madenda
Penutupan (Closing) dan Pembukaan (Opening) :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 32
Oleh: Sarifuddin Madenda
BAB 3.
RUANG WARNA
DAN DASAR-DASAR
PENGOLAHAN CITRA BERWARNA

Oleh:
Sarifuddin Madenda

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 33
3.3 RUANG WARNA
Sensasi warna didefenisikan oleh CIE (Prancis : Commission internationale de
l'éclairage atau Ingris : International Commission on Illumination) berupa :
Brightness (kecerahan) yaitu sensasi visual mata dalam membedakan suatu area
yang memiliki lebih banyak intensitas cahaya atau kurang.
Hue (warna) yaitu sensasi visual mata dalam memandang satu area yang memiliki
warna yang sama atau mirip dengan area lainnya atau memiliki proporsi
perbedaan warna antara keduanya.
Colorfulness yaitu sensasi visual mata dalam membedakan suatu area yang
mengandung warna (chromatic) atau tidak (achromatic atau gray level).
Saturation (saturasi) yaitu sensasi visual mata dalam membedakan kecerahan suatu
warna terhadap kecerahan warna murninya (pure hue).
Chroma (kemurnian) yaitu sensasi visual mata dalam membedakan kecerahan
suatu warna relative pada referensi warna putih (identik dengan saturasi).
Lightness (Luminance) yaitu sensasi visual mata dalam membedakan kecerahan
suatu area relative pada referensi warna putih dalam ruang pandang mata
tersebut.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 34
Oleh: Sarifuddin Madenda
3.3.1 SISTEM WARNA MUNSELL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 35
Oleh: Sarifuddin Madenda
3.3.3 RUANG WARNA RGB
- Ruang warna standard RGB (Red, Green, Blue) didasarkan
pada hasil aquisisi frekuensi warna oleh sensor elektronik.
- Setiap komponen warna dikodekan dalam 8 bit sehingga dapat
terbentuk 224 atau 16777216 nuansa warna

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 36
Oleh: Sarifuddin Madenda
3.3.4 RUANG WARNA CMYK
- Merupakan ruang warna subtraktif yang digunakan dalam printer
- Empat warna: Cyan, Magenta (ungu), Yellow (kuning) dan Black
(hitam)
- Gabungan cyan, magenta dan yellow menghasilkan warna coklat gelap
(bukan hitam).
- Penambahan warna K (hitam) ditujukan untuk menghasilkan warna
hitam sempurnah

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 37
Oleh: Sarifuddin Madenda
3.3.4 RUANG WARNA CMYK

Konversi dari RGB ke CMY : Cyan = Imax – Red


Magenta = Imax – Green
Yellow = Imax − Blue
dari CMY ke CMYK : Black = Min(Cyan, Magenta, Yellow)
Cyan = (Cyan − Black)/( Imax − Black)
Magenta = (Magenta − Black)/( Imax − Black)
Yellow = (Yellow − Black)/( Imax − Black)
dari CMYK ke CMY : Cyan = Min(Imax, Cyan * (Imax − Black) + Black)
Magenta = Min(Imax, Magenta * (Imax − Black) + Black)
Yellow = Min(Imax, Yellow * (Imax − Black) + Black)
dari CMY to RGB : Red = Imax − Cyan
Green = Imax − Magenta
Blue = Imax – Yellow
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 38
Oleh: Sarifuddin Madenda
3.3.5 RUANG WARNA HSL
- mengacu pada hue, saturation, and lightness (luminance) dan
merepresentasikan nuansa warna dalam koordinat silinder 3-D
- Lebih mendekati pada intuisi dan persepsi visual manusia seperti
halnya pada sistem warna Munsell
- HSL dikembangkan untuk aplikasi komputer grafik dan digunakan
sebagai tools untuk memodifikasi warna citra dalam perangkat
lunak image editing.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 39
Oleh: Sarifuddin Madenda
3.3.5 RUANG WARNA HSL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 40
Oleh: Sarifuddin Madenda
3.3.5 RUANG WARNA HSV
- Mengacu pada hue, saturation, and value (luminance) dan
merepresentasikan nuansa warna dalam koordinat silinder 3-D
- Lebih mendekati pada intuisi dan persepsi visual manusia seperti
halnya pada sistem warna Munsell
- HSV dikembangkan untuk aplikasi komputer grafik dan
digunakan sebagai tools untuk memodifikasi warna citra dalam
perangkat lunak image editing.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 41
Oleh: Sarifuddin Madenda
3.3.5 RUANG WARNA HSV

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 42
Oleh: Sarifuddin Madenda
3.3.6 RUANG WARNA L*a*b DAN L*C*H*
- Mengacu pada luminance L, chrominance C, and hue H dan
merepresentasikan 3nuansa warna dalam koordinat silinder 3-D
- Mengacu pada sistem warna Munsell, representasi warna yang
Lebih uniform dengan persepsi warna oleh mata normal manusia
(perceptually uniform)
- Kelebihan ruang warna L*a*b* dan H*C*L* adalah tidak
bergantung pada peralatan yang digunakan (device independent).
- Digunakan sebagai Profile Connection Space (PCS) yang
berfungsi menjembatani dua ruang warna yaitu input RGB (hasil
akuisisi dari scanner atau kamera) dan output CMYK (printer).
- secara luas digunakan khususnya untuk aplikasi fotografi dengan
kualitas tinggi.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 43
Oleh: Sarifuddin Madenda
3.3.5 RUANG WARNA L*a*b* dan L*C*H*

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 44
Oleh: Sarifuddin Madenda
3.3.6 RUANG WARNA L*a*b* dan L*C*H*

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 45
Oleh: Sarifuddin Madenda
3.3.6 RUANG WARNA L*a*b* dan L*C*H*

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 46
Oleh: Sarifuddin Madenda
3.3.7 RUANG WARNA HCL
- HCL (Hue, Chroma, Luminance) dikembangkan berdasarkan
gabungan kelebihan yang ada pada ruang warna HSL, HSV dan
L*a*b* atau L*C*H*.
- Juga mengacu pada model warna Munsell dan sifat scotopic dan
photopic vision,
- Menghasilkan ruang warna yang lebih uniform terhadap persepsi
visual manusia.

Konversi
RGB➔HCL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 47
Oleh: Sarifuddin Madenda
3.3.7 RUANG WARNA HCL

Konversi
HCL ➔ RGB

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 48
Oleh: Sarifuddin Madenda
3.3.7 RUANG WARNA HCL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 49
Oleh: Sarifuddin Madenda
3.3.8 RUANG WARNA YUV dan YCbCr

- Ruang warna YUV menjadi standar dalam perekaman,


penyimpanan, transmisi dan display dalam sistem televisi
analog NTSC dan PAL.
- Ruang warna YCbCr merupakan bagian dari standar
internasional yang digunakan pada sistem TV digital.
- Keduanya memisahkan komponen luminance Y dari dua
koponen chroma UV, dan CbCr.
- Kompatibilitas gambar hitam putih dapat terjaga, sehingga
terminal TV hitam putih tetap dapat menangkap sinyal dan
menayangkan informasi gambar dari komponen Y, sekalipun
sinyal TV yang dipancarkan adalah berwarna.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 50
Oleh: Sarifuddin Madenda
3.3.8 RUANG WARNA YUV dan YCbCr

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 51
Oleh: Sarifuddin Madenda
3.4.1 REPRESENTASI WARNA CITRA
DALAM RUANG WARNA 3D

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 52
Oleh: Sarifuddin Madenda
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 53
Oleh: Sarifuddin Madenda
3.4.2 HISTOGRAM DAN BIN WARNA CITRA

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 54
Oleh: Sarifuddin Madenda
BAB 4.
PENDETEKSIAN TEPI OBJEK

Oleh:
Sarifuddin Madenda

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 55
- Tepi (edge) dan kontur (contour) membantu sistem visual
dalam menggambarkan atau merekonstruksi dan
mengenali sebuah objek.
- Tepi dan kontur didefenisikan secara berbeda namun
dalam prakteknya keduanya kadang diartikan sama.
- Tepi citra didefenisikan sebagai perbedaan intensitas atau
warna antara satu pixel dengan pixel tetangga
terdekatnya.
- Semakin tinggi perbedaanya semakin tampak dengan jelas
tepi tersebut.
- Tepi merupakan sebuah titik sedang kontur merupakan
titik-titik tepi yang saling terhubung dan membentuk garis
batas antara dua area yang berbeda.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 56
Oleh: Sarifuddin Madenda
- Pendeteksian tepi objek juga identik dengan
pendeteksian kontur objek dalam sebuah citra.
- Secara matematis, perbedaan intensitas antara dua
titik pada jarak spasial tertentu dikenal sebagai
turunan pertama dari suatu fungsi.
- Turunan pertama fungsi citra I(x,y) disebut gradien
citra
- Dari konsep gradien citra dikembangkan fungsi
pendeteksian tepi atau edge detector

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 57
Oleh: Sarifuddin Madenda
- Turunan parsial pertama fungsi citra I(x,y) terhadap sumbu x
dan sumbu y, diperlihatkan oleh persamaan (4.1), sedang
gradient vector dan magnitude-nya diberikan oleh persamaan
(4.2) dan (4.3) atau persamaan (4.4)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 58
Oleh: Sarifuddin Madenda
(a) (b) (c)

(d) (e)

(f) (g) (h)

Gambar 4.1. (a) citra asli gray-level, (b), (c) dan (d) masing-masing adalah gradien citra arah x, gradien arah y, dan gradien
total citra dengan menggunakan persamaan (4.4). (e) adalah gradien citra menggunakan fungsi yang ada di Matlab. (g) dan
(h) masing-masing adalah gradien citra kupu-kupu menggunakan persamaan (4.4) dan fungsi yang ada di Matlab.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 59
Oleh: Sarifuddin Madenda
4.2.1 OPERATOR ROBERTS
Operator Roberts atau gradien Roberts menggunakan
turunan pertama dari fungsi citra, pada arah diagonal
45̊ dan 135̊ :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 60
Oleh: Sarifuddin Madenda
4.2.1 OPERATOR ROBERTS

(a) (b) (c)

(d) (e)

(f) (g) (h)


Gambar 4.2. (a) citra asli gray-level, (b), (c) dan (d) masing-masing adalah gradient citra arah 45̊, arah 135̊,
dan gradien total dengan menggunakan persamaan (4.7). (e) Hasil gradient Roberts menggunakan fungsi
yang tersedia di Matlab. (g) dan (h) masing-masing adalah gradien citra kupu-kupu menggunakan persamaan
(4.7) dan fungsi gradien Roberts yang telah tersedia di Matlab.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 61
Oleh: Sarifuddin Madenda
4.2.2 OPERATOR PREWITT dan SOBEL
- Gabungan filter perata dan turunan pertama citra.
- Pemfilteran noise dan pendeteksian tepi citra.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 62
Oleh: Sarifuddin Madenda
4.2.2 OPERATOR PREWITT dan SOBEL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 63
Oleh: Sarifuddin Madenda
4.2.2 OPERATOR PREWITT dan SOBEL

(a) (b) (c)

(d) (e)

(f) (g) (h) (i) (j)


Gambar 4.3. (a) dan (f) citra asli gray-level, (b) dan (c) masing-masing adalah gradient citra Prewit dan Sobel.
(d) dan (e) masing-masing adalah hasil gradient citra Prewit dan Sobel melalui fungsi imgradient()
yang tersedia di Matlab. (g) dan (h) adalah gradien citra kupu-kupu Prewit dan Sobel hasil konvolusi,
(i) dan (j) merupakan gradien Prewit dan Sobel menggunakan fungsi imgradient().
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 64
Oleh: Sarifuddin Madenda
4.2.4 OPERATOR KIRSCH
- Disebut juga operator kompas: melakukan pendetaksian tepi pada
8 arah mata angin di setiap kelipatan sudut 45̊.
- Tujuannya untuk menemukan tepi maksimum dalam semua arah
yang terdeteksi.
- Hasilnya lebih baik, namun waktu eksekusinya jauh lebih lambat.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 65
Oleh: Sarifuddin Madenda
(a) (b) (k) (l)

(c) (d) (e) (f)

(f) (g) (h) (i) (j)

(g) (h) (i) (j)


Gambar 4.4. (a) citra asli gray-level, (b) gradient Kirsch yang merupakan nilai maksimum dari gradient G1 hingga
G8. (c) – (j) gradient citra yang secara berturut-turut merupakan hasil dari G1 hingga G8. (l) adalah
gradien Kirsch dari citra pada gambar (k)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 66
Oleh: Sarifuddin Madenda
4.3 OPERATOR LAPLACE

- Filter Laplacian atau disebut Operator Laplace secara matematis


didefenisikan sebagai jumlah dari turunan parsial kedua dari citra
dua dimensi I(x,y) sepanjang arah sumbu x dan sumbu y :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 67
Oleh: Sarifuddin Madenda
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 68
Oleh: Sarifuddin Madenda
4.4 PENDETEKSIAN TEPI CITRA BERNOISE

- Noise muncul secara acak dan mengakibatkan perubahan


nilai pixel-pixel dalam citra secara acak pula.
- Secara visual, noise pada citra tampak terlihat seperti
bintik-bintik dengan intensitas warna yang berubah secara
acak.
- Gangguan noise mengakibatkan informasi dalam citra
menjadi tidak jelas
- Noise yang muncul pada area tepian objek mengakibatkan
tepiannya menjadi tidak jelas dan tidak beraturan serta
memungkinkan terjadinya pergesaran posisinya.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 69
Oleh: Sarifuddin Madenda
CITRA BERNOISE

- Noise selalu berada pada frekuensi tinggi


- Filter pendeteksian tepi objek dalam citra bernoise:
▪ low-pass filter : penghilangan atau penghalusan noise.
▪ band-pass filter : deteksi tepi
- Dua jenis filter yaitu finite impulse response (FIR) filter dan
infinite impulse response (IIR) filter.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 70
Oleh: Sarifuddin Madenda
4.4.1 FILTER FIR

- FIR satu dimensi (1D) :


K /2
y ( n) =  b.x(n − i)
i =− K / 2

- FIR dua dimensi (2D) :


K /2 K /2
y ( n) =   b .x ( n − i, m − j )
i =− K / 2 j =− K / 2
ij

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 71
Oleh: Sarifuddin Madenda
4.4.1.1 FILTER GAUSSIAN
- FIR dua dimensi (2D) :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 72
Oleh: Sarifuddin Madenda
HASIL FILTER GAUSSIAN

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 73
Oleh: Sarifuddin Madenda
4.4.1.2 FILTER TURUNAN PERTAMA GAUSSIAN

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 74
Oleh: Sarifuddin Madenda
HASIL FILTER TURUNAN PERTAMA GAUSSIAN

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 75
Oleh: Sarifuddin Madenda
4.4.1. 3 FILTER LAPLACIAN OF GAUSSIAN

- Turun kedua dari fungsi Gauss diperlihatkan oleh persamaan (4.31).


- Dikenal sebagai Laplacian of Gaussian filter (LoG filter)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 76
Oleh: Sarifuddin Madenda
HASIL FILTER LoG

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 77
Oleh: Sarifuddin Madenda
4.4.1.4 FILTER DIFFERENCE OF GAUSSIAN

- Tujuan dari operasi ini adalah memfilter citra dengan dua


tingkat noise yang berbeda σ12 dan σ22.
- Menghitung selisih atau beda dari hasil keduanya, sehingga
disebut difference of Gaussians atau disingkat filter DoG.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 78
Oleh: Sarifuddin Madenda
HASIL FILTER DoG

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 79
Oleh: Sarifuddin Madenda
4.4.2 FILTER IIR
- Filter IIR (Infinite impulse response filter) memiliki sistem
feedforward (umpan maju) x(n-k) dan feedback (umpan balik)
sekaligus y(n-l).
- Keluarannya tergantung pada data sesaat dan data sebelumnya
x(n-k) serta hasil perhitungan sebelumnya y(n-l).
- Filter IIR dikembangkan untuk pendeteksian citra: tanpa noise,
bernoise, ber-blur, bernoise dan ber-blur.
- Filter IIR secara umum dapat diformulasikan :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 80
Oleh: Sarifuddin Madenda
4.4.2.1 FILTER SHEN-CASTAN
- Filter ini terdiri dari satu pasang fungsi 1 dimensi (1D)
- Fungsi h(x) berperan sebagai filter low-pass untuk memfilter
noise.
- Fungsi f(x) merupakan filter band-pass yang berperan sebagai
pendeteksi tepi citra.
- Parameter a adalah parameter pengatur tingkat eliminasi noise.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 81
Oleh: Sarifuddin Madenda
4.4.2.1 FILTER SHEN-CASTAN
- Dengan bantuan transformasi Z, kedua filter f(x) dan h(x)
ditransformasi ke dalam bentuk filter IIR:
- Filter numerik f(x) :

- Filter numerik h(x) :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 82
Oleh: Sarifuddin Madenda
4.4.2.1 FILTER SHEN-CASTAN

- Tanda (+) pada y+(n) menyatakan proses penghitungan


dilakukan dari kiri ke kanan untuk arah horisontal dan dari
atas ke bawah untuk arah vertikal.
- Tanda (-) pada y-(n) menyatakan proses penghitungan
dilakukan dari kanan ke kiri untuk arah horisontal dan dari
bawah ke atas untuk arah vertikal.
- Filter h(x) dan f(x) merupakan filter rekursif orde satu.
- Pendeteksian tepi citra arah horisontal: proses pemfilteran
noise arah vertikal terhadap citra asli, dan dilanjutkan
dengan pendeteksian tepi arah horisontal.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 83
Oleh: Sarifuddin Madenda
4.4.2.1 FILTER SHEN-CASTAN

- Pendeteksian tepi citra arah vertikal dilakukan melalui


proses pemfilteran noise arah horisontal terhadap citra
asli, dan dilanjutkan dengan pendeteksian tepi arah
vertikal terhadap hasil citra pemfilteran hotisontal.
- Hasil akhir tepi citra adalah jumlah harga mutlak dari tepi
horisontal dan harga mutlak dari tepi vertikal.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 84
Oleh: Sarifuddin Madenda
HASIL FILTER SHEN-CASTAN:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 85
Oleh: Sarifuddin Madenda
4.4.2.2 FILTER CANNY-DERICHE
- Filter Canny-Deriche mengacu pada kriteria Canny yaitu :
• Good detection : optimalisasi pendeteksian tepi yang
sebenarnya dan meminimalkan pendeteksian tepi palsu
akibat pengaruh munculnya noise disekitar tepi
(optimalisasi sinyal to noise ratio (SNR)).
• Good localization : posisi tepi yang terdeteksi oleh
operator/filter harus sesuai atau sedekatmungkin dengan
posisi tepi yang sebenarnya.
• One response to one edge : harus dapat mendeteksi
hanya satu titik untuk satu tepi dan bukan banyak titik untuk
satu tepi.
- Kombinasi dari tiga criteria diperoleh dua filter yaitu:
• Filter h(x) sebagai penghalus noise (smoothing filter)
• Filter f(x) sebagai pendeteksi tepi (derivative filter).
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 86
Oleh: Sarifuddin Madenda
4.4.2.2 FILTER CANNY-DERICHE

- Filter h(x) : h( x) = K (a | x | +1)e −a | x|

- Dengan bantuan transformasi Z, filter h(x) ditransformasi ke


dalam bentuk filter IIR:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 87
Oleh: Sarifuddin Madenda
4.4.2.2 FILTER CANNY-DERICHE

- Filter f(x) : f ( x) = −C.xe −a | x|

- Dengan bantuan transformasi Z, filter f(x) ditransformasi ke


dalam bentuk filter IIR:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 88
Oleh: Sarifuddin Madenda
HASIL FILTER CANNY-DERICHE

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 89
Oleh: Sarifuddin Madenda
4.4.2.3 FILTER MADENDA
- Asumsi bahwa sebuah citra dapat mengalami
gangguan noise dan blur secara bersamaan.
- Filter pendeteksi tepi harus dapat mendeteksi tepi baik
untuk citra tanpa gangguan maupun citra yang
memiliki gangguan noise dan blur.
- Madenda memodelkan sebuah tepi ber-noise dan ber-
blur.
- Dari model ini kemudian diturunkan dua filter:
▪ Filter penghalus noise h(x) dan
▪ Filter pendeteksi tepi citra f(x).
▪ Parameter noise a>0 parameter blur (0> b >1)
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 90
Oleh: Sarifuddin Madenda
4.4.2.3 FILTER MADENDA
▪ Filter penghalus noise h(x)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 91
Oleh: Sarifuddin Madenda
4.4.2.3 FILTER MADENDA
▪ Filter penghalus noise f(x)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 92
Oleh: Sarifuddin Madenda
HASIL FILTER MADENDA:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 93
Oleh: Sarifuddin Madenda
4.5 OPERATOR MORFOLOGI MATEMATIKA
4.5.1 OPERATOR CLOSING OF OPENING (CoO):

4.5.2 OPERATOR OPENING OF CLOSING (OoC):

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 94
Oleh: Sarifuddin Madenda
4.5 OPERATOR MORFOLOGI MATEMATIKA
4.5.3 OPERATOR GRADIEN MORFOLOGI

- Tiga cara proses pendeteksian tepi morfologi matematika:


▪ Pertama : selisih antra citra asli terhadap citra hasil erosi,
▪ Kedua : selisih antra citra asli terhadap citra hasil dilasi,
▪ Ketiga : selisih antra citra hasil dilasi terhadap citra hasil erosi.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 95
Oleh: Sarifuddin Madenda
HASIL OPERATOR GRADIEN MORFOLOGI

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 96
Oleh: Sarifuddin Madenda
BAB 5.
SEGMENTASI CITRA BERDASARKAN
WARNA DAN TEKSTUR

Oleh:
Sarifuddin Madenda

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 97
- Mata dan sistem syaraf optik manusia dapat dengan
mudah mengenali dan memahami makna setiap objek
yang terkandung dalam subuah citra berdasarkan
informasi warna dan tekstur pembentuk permukaan
objek tersebut.
- Komputer butuh algoritma analisis dan pengenalan
untuk dapat melakukan sesuatu sebagaimana layaknya
sistem visual manusia.
- Segmentasi citra bertujuan untuk merepresentasikan
area sebuah citra menjadi sejumlah segmen sehingga
lebih bermakna dan lebih mudah untuk dianalisis.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 98
Oleh: Sarifuddin Madenda
- Sebuah segmen dapat merepresentasikan karakteristik
sebuah objek atau bagian dari sebuah objek dalam
citra.
- Pembentukan sebuah segmen mengacu pada sifat-
sifat berikut:
▪ Pixel-pixel yang saling terhubung dan memiliki nilai
intensitas warna atau pola tekstur yang sama atau
sangat mirip akan berada dalam segmen yang
sama.
▪ Pixel-pixel yang saling terhubung dan memiliki nilai
intensitas warna atau tekstur yang berbeda, akan
berada dalam dua segmen yang berbeda dan
ditandai oleh batas garis pemisah.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 99
Oleh: Sarifuddin Madenda
5.1 SEGMENTASI WARNA CITRA

- Segmentasi area citra berdasarkan warna mengacu


pada:
▪ Sifat homogenietas dan heterogenietas warna
suatu area
▪ Ruang warna dan alat ukur jarak disimilaritas
(perbedaan) dan/atau similaritas (kemiripan) warna
▪ Seberapa banyak jumlah pixel bertetangga yang
digunakan dan bagaimana cara mengukurnya

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 100
Oleh: Sarifuddin Madenda
5.1.1 Ruang Warna dan Peta Warna
- Ruang warna yang digunakan saat akuisisi citra dan
tampilan ke layar monitor adalah ruang warna RGB.
- Bila setiap komponen warna dikodekan dengan 8 bit,
maka akan ada 224 = 16,777 juta nuansa atau variasi
warna.
- Dua warna dimana nilai setiap komponen warna
antara keduanya sangat berdekatan, secara visual
kedua warna ini tampak sama/similar, contoh:

R=5, G=45, B=200 R=1, G=52, B=205 R=255, G=0, B=255 R=250, G=5, B=255

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 101
Oleh: Sarifuddin Madenda
Peta Warna (color map) 1-D
- Pengelompokkan sejumlah nuansa warna yang secara
visual similar menjadi satu warna tertentu

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 102
Oleh: Sarifuddin Madenda
5.1.1 Ruang Warna dan Peta Warna
Peta Warna (color map)

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 103
Oleh: Sarifuddin Madenda
Contoh hasil pembuatan peta warna RGB dan HSV 3D

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 104
Oleh: Sarifuddin Madenda
Contoh hasil peta warna RGB 3D

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 105
Oleh: Sarifuddin Madenda
Contoh hasil peta warna HSV 3D

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 106
Oleh: Sarifuddin Madenda
5.1.2 ALAT UKUR JARAK WARNA
- Dalam segmentasi warna citra, proses utama adalah
menentukan pixel mana saja yang termasuk dalam sebuah
segmen yang sama dan menentukan batas antara dua
segmen yang memiliki peta warna yang berbeda.
- Dibutuhkan alat ukur perbedaan jarak antara dua warna
- Rumus jarak warna dikembangkan mengacu pada model
koordinat ruang warna 3D yang digunakan.
- Koordinat Kartesian 3D, jarak warna antara dua pixel
dihitung dengan menggunakan rumus jarak Euclidean atau
City block distance (Manhattan distance).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 107
Oleh: Sarifuddin Madenda
- Rumus jarak Euclidean dan City block distance untuk ruang
warna RGB dan L*a*b*

- Rumus jarak (CIE) 1994 untuk ruang warna L*a*b* :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 108
Oleh: Sarifuddin Madenda
- Rumus jarak untuk ruang warna CIE L*C*H* :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 109
Oleh: Sarifuddin Madenda
- Rumus jarak CIEDE2000 untuk ruang warna L*C*H* :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 110
Oleh: Sarifuddin Madenda
- Koordinat silider 3D untuk ruang warna HSV, HSL
dan HCL, S ➔ C dan V ➔ L

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 111
Oleh: Sarifuddin Madenda
- Contoh hasil pengukuran
jarak warna
- Warna query “kuning”
pada pojok kiri-atas

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 112
Oleh: Sarifuddin Madenda
5.1.3 SEGMENTASI CITRA BERDASARKAN
KESAMAAN WARNA
- Segmentasi citra berdasarkan warna dapat dilakukan
secara global atau secara local.
- Analisis lokal: per region atau per area dan dilakukan
secara terpisah antara region satu dengan region
lainnya.
- Analisis global adalah analisis yang dilakukan langsung
dalam satu kesatuan citra.
- Model pengukuran similaritas: Pixel-based measures
dan Region-based measures.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 113
Oleh: Sarifuddin Madenda
5.1.3 SEGMENTASI CITRA BERDASARKAN
KESAMAAN WARNA
- Pixel-based measures: segmentasi berbasis pada
pengukuran jarak warna antara dua pixel bertetangga,
- Region-based measures: segmentasi berbasis pada
pengukuran kesamaan karakteristik warna antara dua
region bertetangga. Menggunakan pendekatan region
splitting dan region growing.
- Teknik segmentasi dibedakan menjadi tiga bagian:
thresholding-based segmentation, edge-based
segmentation, histogram-based segmentation.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 114
Oleh: Sarifuddin Madenda
5.1.3 SEGMENTASI CITRA BERDASARKAN
KESAMAAN WARNA
- Thresholding-based segmentation mengelompokan pixel-
pixel yang saling bertetangga dan memiliki jarak warna
lebih kecil dari nilai batas ambang (threshold) kemiripan
dua warna.
- Thresholding-based segmentation dapat diterapkan
secara bersamaan dengan segmentasi berbasis pixel atau
segmentasi berbasis histogram,
- edge-based segmentation mengacu pada pendeteksian
tepi citra.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 115
Oleh: Sarifuddin Madenda
5.1.3 SEGMENTASI CITRA BERDASARKAN
KESAMAAN WARNA
- Algoritma segmentasi kemudian terus berkembang
melalui penerapan sejumlah teori misalnya:
▪ Teori graph (graph-based image segmentation),
▪ Teori fuzzy (image segmentation based on a fuzzy
color similarity),
▪ Teori k-Mean (image segmentation based on k-
Means clustering),
▪ Neural network, dll.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 116
Oleh: Sarifuddin Madenda
5.1.3.1 SEGMENTASI BERBASIS PIXEL

- Segmentasi berbasis pixel dapat dilakukan secara semi-


otomatis dan secara otomatis.
- Cara semi-otomatis membutuhkan intervensi seorang
operator untuk menentukan jenis warna area color
region of interest (ROI) yang ingin disegmentasi.
- Cara otomatis adalah komputer akan melakukan
segmentasi tanpa intervensi operator.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 117
Oleh: Sarifuddin Madenda
- Tahap segmentasi semi-otomatis dari region of interest:
▪ Baca citra berwarna (tersimpan dalam matriks 3D RGB)
▪ Tentukan warna pixel area object of interest sebagai warna referensi untuk
segmentasi,
▪ Tentukan rentan nilai threshold jarak warna,
▪ Bila menggunakan ruang warna selain RGB, konversi warna pixel referensi
dan citra dari ruang warna RGB ke ruang warna yang digunakan untuk
segmentasi,
▪ Untuk setiap pixel dalam citra, hitung jarak warnanya terhadap warna
referensi:
• Hitung jarak antara keduanya dengan menggunakan rumus jarak sesuai
dengan ruang warna yang digunakan.
• Bila jarak warnanya lebih kecil dari nilai threshold, pixel merupakan bagian
dari area segment. Bila tidak, pixel bukan bagian dari area segmen,
hilangkan.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 118
Oleh: Sarifuddin Madenda
-Hasil segmentasi semi-
otomatis menggunakan
ruang warna RGB,HSV
dan HCL serta rumus
jarak warna Euclidean,
Dcyl dan DHCL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 119
Oleh: Sarifuddin Madenda
- Tahap segmentasi otomatis :
- Baca citra berwarna (otomatis akan tersimpan dalam matriks 3D
RGB),
- Tentukan jumlah kuantisasi setiap komponen warna dan hitung
nilai rentan antara dua palette warna sesuai dengan ruang warna
yang digunakan.
- Bentuk peta warna citra: indeks warna dan nilai intensitas palette
warna
- Tentukan batas antara dua area dan tandai dengan warna yang
berbeda (warna putih misalnya) :
• Gunakan rumus jarak warna sesuai dengan ruang warna yang digunakan,
• Gunakan nilai index warna atau nilai intensitas warna palette pada rumus
jarak tersebut,
• Bila jarak index > 0 atau jarak nilai intensitas > 0, tandai sebagai batas.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 120
Oleh: Sarifuddin Madenda
- Hasil segmentasi otomatis :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 121
Oleh: Sarifuddin Madenda
5.1.3.2 SEGMENTASI BERBASIS REGION
5.1.3.2.1 REGION GROWING

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 122
Oleh: Sarifuddin Madenda
5.1.3.2.2 REGION SPLITTING AND MERGING

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 123
Oleh: Sarifuddin Madenda
5.1.3.2.2 REGION SPLITTING AND MERGING
- Contoh Hasil segmentasi berbasis region splitting

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 124
Oleh: Sarifuddin Madenda
REGION MERGING

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 125
Oleh: Sarifuddin Madenda
5.2 SEGMENTASI TEKSTUR CITRA

- Tekstur mengacu pada : kekasaran/kehalusan


permukaan objek atau bentuk/pola/corak yang
terbentuk pada permukaan objek citra.
- Permukaan lantai kayu parket mengandung variasi
intensitas warna yang membentuk suatu pola tertentu.
- Kulit jeruk, memiliki permukaan berbintik dengan posisi
acak, maka permukaan kulit tersebut menjadi kasar.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 126
Oleh: Sarifuddin Madenda
5.2 SEGMENTASI TEKSTUR CITRA

- Analisis tekstur dan segmentasi berdasarkan tekstur


mengacu pada analisi tingkat kekasaran permukaan atau
analisi struktur pola dan orientasinya.
- Pendekatan analisis statistik (statistical approach) untuk
mengetahui homogenietas kekasaran permukaan tekstur,
- Analisis karakteristik pola tekstur dilakukan melalui
pendekatan terstruktur (Structured Approach).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 127
Oleh: Sarifuddin Madenda
5.2.1 ANALISISI STATISTIK TEKSTUR
- Analisis tekstur berdasarkan pada karakteristik statistik
adalah mengacu pada distribusi intensitas atau
histogram citra secara global dan/atau secara lokal
dalam suatu area tertentu.
- Karakteristik ini dapat diukur melalui momen ke-n
dengan bantuan histogram citra.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 128
Oleh: Sarifuddin Madenda
5.2.1 ANALISIS STATISTIK TEKSTUR

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 129
Oleh: Sarifuddin Madenda
5.2.1 ANALISIS STATISTIK TEKSTUR

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 130
Oleh: Sarifuddin Madenda
5.2.1 ANALISIS STATISTIK TEKSTUR

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 131
Oleh: Sarifuddin Madenda
5.2.1 ANALISIS STATISTIK TEKSTUR

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 132
Oleh: Sarifuddin Madenda
5.2.2 ANALISIS TEKSTUR DENGAN
MATRIKS CO-OCCURRENCE

- Gray level co-occurrence matrices (GLCM)


dikembangkan oleh Haralick
- Matriks ini merupakan bagian dari analisis statistik
tekstur.
- Ukuran matriks co-occurrence sangat tergantung
pada nilai minimum dan nilai maksimum dari pixel-
pixel dalam area tekstur yang dianalisis.
- Nilai setiap elemen matriks merupakan jumlah
frekuensi munculnya nilai dua pixel yang saling
bertetangga.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 133
Oleh: Sarifuddin Madenda
5.2.2 ANALISIS TEKSTUR DENGAN
MATRIKS CO-OCCURRENCE
- Dua nilai pixel bertetangga sesuai definisi jarak d={dy, dx}
antara dua pixel dan sudut θ arah tetangga (horisontal,
vertikal atau diagonal).
- Secara matematis, sebuah matriks co-occurrence (CM)
berukuran GxG dari sebuah area citra berukuran NxM, di
definisikan sebagai berikut:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 134
Oleh: Sarifuddin Madenda
5.2.2.1 MATRIKS CO-OCCURRENCE
SUDUT TUNGGAL
- Tetangga pixel p(n,m) : untuk arah 0°, p(n,m+d) (d={0, d}), untuk arah
45° p(n-d,m+d) (d={-d, d}), untuk arah 90° p(n-d,m) (d={-d, 0}) dan
untuk arah 135° p(n-d,m-d) (d={-d, -d}), untuk arah 180° p(n,m-d)
(d={0, -d }), untuk arah 225° p(n+d,m-d) (d={d, -d}), untuk arah 270°
p(n+d,m) (d={d, 0}) dan untuk arah 315° p(n+d,m+d) (d={d, d}).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 135
Oleh: Sarifuddin Madenda
5.2.2.1 MATRIKS CO-OCCURRENCE
SUDUT TUNGGAL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 136
Oleh: Sarifuddin Madenda
5.2.2.1 MATRIKS CO-OCCURRENCE
SUDUT TUNGGAL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 137
Oleh: Sarifuddin Madenda
5.2.2.1 MATRIKS CO-OCCURRENCE
SUDUT TUNGGAL

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 138
Oleh: Sarifuddin Madenda
5.2.2.2 MATRIKS CO-OCCURRENCE
SUDUT GANDA
- Matriks co-occurrence sudut ganda 0°-180°, 45°-225°, 90°-270°,
dan 135°-315°.
- Tetangga pixel p(n,m) arah 0°-180° yaitu i,j = p(n,m), p(n,m+d)
dan j,i = p(n,m+d), p(n,m), arah 45°-225° yaitu i,j = p(n,m), p(n-
d,m+d) dan j,i = p(n-d,m+d), p(n,m), arah 90°-270° yaitu i,j =
p(n,m), p(n-d,m) dan j,i = p(n-d,m), p(n,m), dan arah 135°-315°
yaitu i,j = p(n,m), p(n-d,m-d) dan j,i = p(n-d,m-d), p(n,m).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 139
Oleh: Sarifuddin Madenda
5.2.2.2 MATRIKS CO-OCCURRENCE
SUDUT GANDA

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 140
Oleh: Sarifuddin Madenda
5.2.2.2 MATRIKS CO-OCCURRENCE
SUDUT GANDA

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 141
Oleh: Sarifuddin Madenda
5.2.2.3 KARAKTERISTIK TEKSTUR GLCM

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 142
Oleh: Sarifuddin Madenda
5.2.2.3 KARAKTERISTIK TEKSTUR GLCM

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 143
Oleh: Sarifuddin Madenda
5.2.2.3 KARAKTERISTIK TEKSTUR GLCM

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 144
Oleh: Sarifuddin Madenda
5.2.2.3 KARAKTERISTIK TEKSTUR GLCM

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 145
Oleh: Sarifuddin Madenda
BAB 6.
KOMPRESI CITRA

Oleh:
Sarifuddin Madenda

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 146
- Konten Teknologi Informasi dan Komunikasi: multimedia
(teks, audio, citra dan video)
- Kecepatan komunikasi real-time: jumlah konten
informasi = bandwidth persatuan waktu.
- Contoh, Video conference dengan resolusi video
1920×1080 pixel per citra dan 25 citra per detik, maka
data video 1920×1080×3×8×25 = 1,244 giga bit / detik.
- Video conference real-time butuh bandwidth > 1,244
Gbps.
- Bila bandwidth 100 Mbps, waktu tunggu:
1,244 Gbps / 100 Mbps = 12,44 detik
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 147
Oleh: Sarifuddin Madenda
- Untuk mencapai video conference real-time: perlu
kompresi dengan rasio kompresi 12,44
- Perekaman Video conference selama 1 jam butuh media
penyimpanan 1920×1080× 3 byte × 25 citra × 60 detik ×
60 menit = 559,872 Giga Byte.
- Butuh media penyimpanan : 66 buah DVD 8.5 GB.
- Solusi: kompresi data citra/video dengan rasio tinggi

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 148
Oleh: Sarifuddin Madenda
6.1 KERANGKAPAN DATA DAN INFORMASI
- Teori kompresi dikembangkan mengacu pada
kerangkapan data/informasi.
- Dua informasi auditif atau informasi visual yang
mengandung makna yang sama dan terbentuk oleh
data dengan nilai numerik yang sama, dinyatakan
memiliki kerangkapan informasi dan kerangkapan
data.
- Dua informasi auditif atau informasi visual yang
mengandung makna yang sama tetapi terbentuk oleh
data dengan nilai numerik yang berbeda, dinyatakan
memiliki kerangkapan informasi tanpa kerangkapan
data.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 149
Oleh: Sarifuddin Madenda
6.1 KERANGKAPAN DATA DAN INFORMASI
- Tiga buah objek pertama berwarna biru (segi tiga, R=0,
G=51, B=204), (segi empat, R=1, G=52, B=205) dan
(lingkaran, R=2, G=49, B=202).
- Tiga buah objek kedua berwarna ungu : (segi tiga,
R=255, G=0, B=255), (segi empat, R=255, G=0, B=255)
dan (lingkaran, R=255, G=0, B=255).

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 150
Oleh: Sarifuddin Madenda
6.1 KERANGKAPAN DATA DAN INFORMASI
- Secara visual, tiga buah objek pertama memberi
informasi warna biru yang sama (walau datanya
berbeda), sehingga data warna biru ketiga objek
dapat diwakilkan oleh salah satunya: (segi tiga, segi
empat, lingkaran, R=1, G=52, B=205).
- Terkompresi dengan rasio kompresi 9/3 = 3
- Secara visual, tiga objek kedua memberi informasi
warna ungu yang sama dan datanya sama: (segi tiga,
segi empat, lingkaran, R=255, G=0, B=255).
- Terkompresi dengan rasio kompresi 9/3 = 3

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 151
Oleh: Sarifuddin Madenda
- Semakin banyak data rangkap, semakin tinggi rasio
kompresi.
- Kerangkapan data dapat diperbanyak melalui proses
deferensial dan quantisasi
- Deferensial merupakan selisih antara dua data pixel
yang saling berurutan:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 152
Oleh: Sarifuddin Madenda
- Data citra I heterogen ➔ data DI homogen bernilai
“1”..
- Metode diferensial digunakan sebagai algoritma
DPCM (Differential Pulse Code Modulation) biasa
digunakan untuk kompresi citra lossless.
- Proses rekonstruksi:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 153
Oleh: Sarifuddin Madenda
- Metode kuantisasi digunakan pada teknik kompresi
data yang bersifat lossy:
IQ =round( I/Q)
- Data citra I = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), jika nilai
kuantiasi Q=5
- IQ = (0, 0, 1, 1, 1, 1, 1, 2, 2, 2)
- Proses rekonstruksi:
Q
I =round(I *Q)
- Hasil rekonstruksi: I = (0, 0, 5, 5, 5, 5, 5, 10, 10, 10).
- Hampir semua nilai data berubah, secara visual
perubahan ini tidak begitu tampak
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 154
Oleh: Sarifuddin Madenda
6.2 TEKNIK DASAR KOMPRESI DATA

- Kompresi data disebut encoding (atau coding) dan


proses rekonstruksi disebut decoding.
- Encoding : proses pengkodean urutan karakter berupa
huruf, angka, tanda baca dan symbol-simbol lainnya ke
dalam format khusus agar lebih efisien saat disimpan
atau ditransmisikan.
- Decoding : proses invers yang mengkonversi format
data terencoding menjadi urutan karakter aslinya.
- Proses encoding dan decoding dapat diterapkan pada
semua jenis data multimedia: teks, audio, signal, citra
dan video.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 155
Oleh: Sarifuddin Madenda
6.2 TEKNIK DASAR KOMPRESI DATA

- Encoding berbeda dengan enkripsi (encryption).


- Pada proses enkripsi, data atau informasi sengaja
diubah dengan tujuan untuk menyembunyikan isi
informasi yang terkandung didalamnya tanpa ada
pengurangan jumlah data.
- Encoding lebih fokus pada pengurangan redundansi
data sehingga jumlah data dapat lebih kecil.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 156
Oleh: Sarifuddin Madenda
6.2.1 RUN LENGTH ENCODING
- Run length : jumlah pixel yang secara berurutan memiliki nilai
data yang sama
- Run length encoding (disingkat RLE): metode pengkodeannya
untuk kebutuhan kompresi.
- Contoh 1:
I = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) ➔ DI= (1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
RLE ➔ 10 1
- Contoh 2:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 157
Oleh: Sarifuddin Madenda
6.2.1 RUN LENGTH ENCODING
- Contoh 3:

- Rasio kompresi: contoh 1 ➔ 10/2 =5, contoh 2 ➔ 36/10 =3.6,


contoh 3 ➔ 33/66 =0.5 (terjadi pembengkakan jumlah data)
- Metode RLE sangat baik digunakan untuk mengkompres data
yang tingkat homogenietasnya tinggi. Sebaliknya, RLE sangat
tidak efektif digunakan untuk data heterogen.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 158
Oleh: Sarifuddin Madenda
6.2.1 HUFFMAN ENCODING
- Metode Huffman mengacu pada penghitungan frekuensi
munculnya setiap data, kemudian diurut mulai dari yang
tertinggi hingga yang terendah dan kemudian
direpresentasikan dalam bentuk pohon biner.
- Data yang frekuensi munculnya paling banyak dikode dengan
jumlah bit terkecil dan data yang frekuensi munculnya paling
sedikit dikode dengan jumlah bit terbesar.
- contoh kalimat yang akan dikompres "this is an example of a
huffman tree".

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 159
Oleh: Sarifuddin Madenda
6.2.1 HUFFMAN ENCODING
Pohon Biner (Huffman coding)
1 1 1
“ “= 7 12 20 36 “ “= 111
a=4 1 0
8 a = 101
e=4 0
e = 100
f=3 1 5 0 f = 1101
t=2 0 t = 1100
h=2 1 4 1 8 1 16 0 h = 0111
i=2 0 i = 0110
s=2 1 4 0 s = 0101
n=2 0 n = 0100
m=2 1 4 1 8 0 m = 0011
x=1 1 2
0 x = 00101
p=1 0 p = 00100
l=1 1
2
1
4
0 l = 00011
u=1 u = 00010
0
0=1 2 288 bit ➔ 135 bit o = 00001
1 0
r=1 r = 00000
0
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 160
Oleh: Sarifuddin Madenda
6.2.1 HUFFMAN ENCODING
- "this is an example of a huffman tree" dapat
dikodekan kedalam bit stream sebagai berikut:
“1100 0111 0110 0101 111 0110 0101 111 101 0100
111 100 00101 101 0011 00100 00011 100 111 00001
1101 111 101 111 0111 00010 1101 1101 0011 101
0100 111 1100 00000 100 100”
- Jumlah bit dalam bit stream di atas adalah sebanyak
135 bit dan jumlah bit data asli adalah 36x8 bit = 288
bit.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 161
Oleh: Sarifuddin Madenda
6.3. Kompresi Citra
Jenis kompresi: lossless compression dan lossy compression.
Lossless compression:
- Kompresi tanpa adanya perubahan atau kehilangan data .
- Data hasil dekompresi sama tepat dengan data aslinya.
- Proses kompresi dilakukan tanpa ada proses kuantisasi
dan/atau pembulatan nilai
Lossy compression:
- Memungkinkan adanya perubahan nilai data tanpa
mengubah makna informasi.
- Umumnya melalui proses kuantisasi dan pembulatan nilai
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 162
Oleh: Sarifuddin Madenda
6.3. Kompresi Citra
Proses Kompresi

QDCT
Transformasi Transformasi domain
Pembagian Kuantisasi RLE-Huffman
warna citra RGB Block citra spasial ke frekuensi Coding
ke YCbCr DCT/DWT

Citra Asli Matriks Tabel JPEG Bit


kuantisasi coding Stream

Transformasi Penggabungan Transformasi invers


Dekuantisasi RLE-Huffman
warna citra RGB Block citra frekuensi ke spasial
Decoding
ke YCbCr iDCT/iDWT
iQDCT

Proses Dekompresi

Gambar 6.5. Bagan umum teknik kompresi citra JPEG

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 163
Oleh: Sarifuddin Madenda
6.3.1. Transformasi Warna dan Sub-Sampling

RGB ➔ YCbCr : YCbCr ➔ RGB :

 Y   0.299 0.587 0.114  R   R  1 0 .0 1.402   Y 


Cr  =  0.500 − 0.419 0.081 G  G  = 1 1.772 0 . 0  Cr 
Cb  − 0.169 − 0.331 0.500  B      
      B  1 − 0.344 − 0.741 Cb 

RGB ➔ Yuv : Yuv ➔ RGB :


Y   0.299 0.587 0.114  R   R  1 0 .0 1.140  Y 
u  = − 0.147 − 0.289 0.436 G  G  = 1 − 0.395 − 0.581  u 
 v   0.615 − 0.515 0.100  B      
      B  1 2.032 0.0   v 

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 164
Oleh: Sarifuddin Madenda
6.3.1. Transformasi Warna dan Sub-Sampling
4:4:4 4:2:2 4:1:1 4:2:0

4 2:2 1:1 2:0

Cb

4 2:2 1:1 2:0

Cr

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 165
Oleh: Sarifuddin Madenda
a
.

6.3.1. Transformasi Warna dan Sub-Sampling


4:4:4 4:2:2 4:1:1 4:2:0

4 2:2 1:1 2:0

Cb

4 2:2 1:1 2:0

Cr

Gambar 6.7. Hasil proses transformasi warna dan subsampling komponen Y, Cb dan Cr.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 166
Oleh: Sarifuddin Madenda
a
.
6.3.3. Transformasi Cosinus Diskrit

Bentuk perkalian matrik:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 167
Oleh: Sarifuddin Madenda
a
.
6.3.3. Transformasi Cosinus Diskrit
Matriks Cosinus Diskrit:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 168
Oleh: Sarifuddin Madenda
a
.
6.3.3. Transformasi Cosinus Diskrit

Contoh Hasil Proses Transformasi Cosinus Diskrit:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 169
Oleh: Sarifuddin Madenda
a
.
6.3.4. Kuantisasi dan Dekuantisasi hasil DCT
Contoh Hasil Proses DCT dan Kuantisasi serta Pembulatan:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 170
Oleh: Sarifuddin Madenda
a
.

6.3.3. Transformasi Cosinus Diskrit Invers

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 171
Oleh: Sarifuddin Madenda
a
.
6.3.3. Transformasi Cosinus Diskrit Invers

Matriks Cosinus Diskrit Invers :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 172
Oleh: Sarifuddin Madenda
a
.
6.3.3. Transformasi Cosinus Diskrit

Contoh Hasil Proses Transformasi Cosinus Diskrit Invers:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 173
Oleh: Sarifuddin Madenda
6.3.4. Kuantisasi dan Dekuantisasi hasil DCT
a
.

Contoh Hasil Proses Dekuantisasi dan DCT Invers :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 174
Oleh: Sarifuddin Madenda
a
.
6.3.4. Kuantisasi dan Dekuantisasi hasil DCT
Contoh Tabel Kuantisasi JPEG :
Kualitas 12 Kualitas 11 Kualitas 10

Cb
&
Cr

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 175
Oleh: Sarifuddin Madenda
a
.
6.3.5. Transformasi Cosinus Diskrit Terkuantisasi

Proses QDCT:

Proses iQDCT:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 176
Oleh: Sarifuddin Madenda
a
.
6.3.5. Transformasi Cosinus Diskrit Terkuantisasi

Matriks Cosinus terkuantisasi:

Matriks invers Cosinus terkuantisasi:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 177
Oleh: Sarifuddin Madenda
a
.
6.3.5. Transformasi Cosinus Diskrit Terkuantisasi

Contoh Proses Transformasi Cosinus diskrit terkuantisasi dan pembulatan:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 178
Oleh: Sarifuddin Madenda
6.3.5. Transformasi Cosinus Diskrit Terkuantisasi
a
.

Contoh Proses Invers dari Transformasi Cosinus diskrit terkuantisasi:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 179
Oleh: Sarifuddin Madenda
a
.

6.3.6. Zig-Zag dan RLE- Huffman Coding

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 180
Oleh: Sarifuddin Madenda
a
.

6.3.6. Zig-Zag dan RLE- Huffman Coding

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 181
Oleh: Sarifuddin Madenda
a
.
6.3.6. Zig-Zag dan RLE- Huffman Coding

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 182
Oleh: Sarifuddin Madenda
a
.

6.3.6. Zig-Zag dan RLE- Huffman Coding

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 183
Oleh: Sarifuddin Madenda
a
.

6.3.6. Zig-Zag dan RLE- Huffman Coding

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 184
Oleh: Sarifuddin Madenda
a
.

6.3.7. Transformasi Wavelet Diskrit (DWT)

❖ Wavelet menggunakan sepasang filter: Low pass filter L(n) dan


High pass filter H(n)
❖ Sifat filter Wavelet untuk kompresi lossless :

 L(n) = 1
n
dan  H(n) = 0
n

❖Keterhubungan antar filter H(n) dan filter L(n) adalah:


H(n) = (-1)n L(K - n), dimana n = 0, 1, …, K
 H(n).L(n) = H(1).L(1) + H(2).L(2) + ... + H(K).L(K) = 0
n

❖ Contoh wavelet Haar :


filter L(n) = {1/2, 1/2} ➔ filter H(n) = {1/2, -1/2}
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 185
Oleh: Sarifuddin Madenda
a

6.3.7. Transformasi Wavelet Diskrit (DWT)


.

❖ Transformasi Wavelet Diskrit (DWT) memiliki dua komponen:


Aproksimasi Sj(x) dan Wavelet Wj(x)
➢ DWT Sinyal (1 D) pada level skala j :
✓ Komponen Aproksimasi :

✓ Komponen Wavelet :

Contoh wavelet Haar untuk sinyal S0(x) = (7 13 17 15 14 14 120 116)


• Komponen Aproksimasi S1(x) = SnS0(2x+n).L(n) = (10 16 14 118)
• Komponen Wavelet W1(x) = SnS0(2x+n).H(n) = (3 1 0 2)
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 186
Oleh: Sarifuddin Madenda
a
.

6.3.7. Transformasi Wavelet Diskrit (DWT)

❖ Transformasi Wavelet Diskrit (DWT) citra 2D : Aproksimasi


Sj(x,y) dan Wavelet Wj(x,y)
➢ DWT Citra (sinyal 2D) dilakukan dalam dua arah:
❑ Arah koordinat X pada level skala j:

✓ Komponen Aproksimasi :

✓ Komponen Wavelet :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 187
Oleh: Sarifuddin Madenda
a
.

6.3.7. Transformasi Wavelet Diskrit (DWT)

❑ Arah koordinat Y pada level skala j :


✓ Komponen Aproksimasi :

✓ Komponen Wavelet :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 188
Oleh: Sarifuddin Madenda
a

6.3.7. Transformasi Wavelet Diskrit (DWT) 2D


.

L(n) adalah low-pass filter merupakan komponen frekuensi renda


H(n) adalah high pass filter merupakan komponen frekuensi tingi
2 downsampling : pemampatan 2 kolom dan 2 baris menjadi 1 kolom dan 1 baris

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 189
Oleh: Sarifuddin Madenda
a
.
6.3.7. Transformasi Wavelet Diskrit (DWT)

❖ DWT skala 1 dari citra asli menghasilkan empat citra LL1, HL1, LH1 dan HH1 masing-
masing berukura ¼ (½ kolom * ½ baris) dari ukuran citra aslinya.
❖ DWT skala 2 menghasilkan empat citra yaitu LL2, HL2, LH2 dan HH2 masing-masing
berukura ¼ dari ukuran citra masukannya LL1.
❖ DWT skala 3 menghasilkan empat citra yaitu LL3, HL3, LH3 dan HH3 masing-masing
dengan ukura ¼ dari ukuran citra masukannya LL2.
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 190
Oleh: Sarifuddin Madenda
a

6.3.7. Transformasi Wavelet Diskrit (DWT)


.

Contoh hasil DWT masing-masing untuk skala 1, skala 2 dan skala 3.

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 191
Oleh: Sarifuddin Madenda
a

6.3.7. Transformasi Wavelet Diskrit Invers (iDWT)


.

❖ Proses Rekonstruksi (iDWT) 2D pada level skala j-1 :


Rekonstruksi
Komponen
Wavelet pada
skala j:

Rekonstruksi
Komponen
Aproksimasi
pada skala j:

Rekonstruksi
Citra pada
skala j-1:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 192
Oleh: Sarifuddin Madenda
a

6.3.7. Transformasi Wavelet Diskrit Invers (iDWT)


.

❖ Proses Rekonstruksi (iDWT) 2D multi-skala :

↑2 Upsampling : pengembangan 1 kolom dan 1 baris menjadi 2 kolom dan 2 baris


Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 193
Oleh: Sarifuddin Madenda
a
.

❖ Ditinjau dari filter low-pass dan high-pass yang digunakan


Transformasi Wavelet dapat dikategorikan dalam :
➢ Transformasi Wavelet Orthogonal bersifat reversible,
digunakan untuk kompresi citra lossless
Contoh Wavelet orthogonal : Wavelet Haar (Alfréd Haar)
dan Wavelet Daubechies (Ingrid Daubechies )
➢ Transformasi Wavelet Biorthogonal dapat bersifat
reversible dan irreversible, matriks transposenya tidak
selalu identik dengan matriks inversnya
Digunakan untuk kompresi citra lossless atau lossy.
Contoh Wavelet biorthogonal : Wavelet LeGall (Cohen-
Daubechies-Feauveau

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 194
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Orthogonal :
✓ Sifat Filter Low-pass L(n) dan High-pass H(n):
 n
L(n) = 1 atau  n
L ( n) = 2 atau  n
L ( n) = 2

 n
H ( n) = 0

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 195
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Orthogonal :
✓Filter L(n) dan H(n) disusun dalam sebua matrik P
demikian sehingga: [P]*[P]T = [I] dan [P]T = [P]-1

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 196
Oleh: Sarifuddin Madenda
a
.

➢ Contoh Transformasi Wavelet Orthogonal :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 197
Oleh: Sarifuddin Madenda
a
.

➢ Contoh Transformasi Wavelet Orthogonal Invers:

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 198
Oleh: Sarifuddin Madenda
a
.

➢ Contoh Transformasi Wavelet Orthogonal dan Inversnya


dalam 4 skala :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 199
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Biorthogonal :
✓Filter L(n) dan H(n) digunakan untuk proses kompresi
Ĺ
✓Filter Ĥ(n) dan (n) digunakan untuk proses dekompresi

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 200
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Biorthogonal :

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 201
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Biorthogonal :
✓Filter L(n) dan H(n) serta Ĥ(n) dan (n) disusun dalam Ĺ
sebua matrik P demikian sehingga: [P]*[P]T ≈ [I] dan [P]T ≈
[P]-1

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 202
Oleh: Sarifuddin Madenda
a
.

➢ Transformasi Biorthogonal :
✓Filter L(n) dan H(n) serta Ĥ(n) dan (n) disusun dalam Ĺ
sebua matrik P demikian sehingga: [P]*[P]T ≈ [I] dan [P]T ≈
[P]-1

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 203
Oleh: Sarifuddin Madenda
a
.

6.4. Rasio dan Kualitas Kompresi

Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 204
Oleh: Sarifuddin Madenda
a
.

6.4. Rasio dan Kualitas Kompresi

peak signal to noise ratio atau disingkat PSNR:

I(i, j) adalah nilai pixel citra asli pada posisi (i, j),
R(i, j) adalah nilai pixel citra rekonstruksi pada posisi (i, j)
M * N ukuran citra dalam pixel
C jumlah komponen warna
MaxI adalah nilai maksim pixel dalam citra asli I
Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab 205
Oleh: Sarifuddin Madenda

Anda mungkin juga menyukai