transformasi dan model warna citra digital
DESCRIPTION
Transformasi dan Model Warna Citra Digital. Pengolahan Citra Digital Materi 3. Eko Prasetyo Teknik Informatika UMG- UPN Veteran Jatim 2012. Representasi bit citra. Citra abu-abu. Citra biner. Citra Negatif. Seperti halnya film negatif . - PowerPoint PPT PresentationTRANSCRIPT
Transformasi dan Model Warna Citra DigitalPengolahan Citra Digital
Materi 3
Eko Prasetyo
Teknik Informatika
UMG-UPN Veteran Jatim
2012
2
Representasi bit citraBit Range Keterangan1 0 - 1 Citra Biner8 0 - 255 Citra abu-abu (grayscale)12 0 - 4096 High quality grayscale16 0 - 65535 Very high quality grayscale32 (0.0 - 1.0) Floating point format
8+8+8 3 x 1-255 "24 bit True Color" (monitor)
Citra abu-abu
Citra biner
3
Citra Negatif Seperti halnya film negatif.
◦ Hasil pengambilan gambar dengan kamera konvensional yang membalik citra asli.
◦ Jika terdapat citra dengan jumlah gray level L dengan range [0,L-1] maka citra negatif didapat dari transformasi negatif seperti pada gambar (garis diagonal) dengan persamaan: s = L – 1 – r
Untuk L = 256, maka citra negatif didapatkan:>> j = 256 - 1 - f;
4
Transformasi Log Sangat berguna dalam penggambaran grafik ketika pada
deretan nilai, di samping ada selisih nilai yang sangat kecil, juga ada selisih nilai yang sangat besar,◦ Sehingga ketika digambar dalam grafik maka selisih yang
kecil akan sulit untuk dilihat. Kurva log yang terdapat pada gambar. Nilai input gray level yang tinggi akan menyesuaikan
dengan output gray levelnya sesuai grafik. Meningkatkan nilai citra yang gelap dan mengkompres
nilai citra yang sangat tinggi. Transformasi Inverse log merupakan kebalikan dari
transformasi log Persamaan dari transformasi log adalah: s = c log(1 + r)
◦ c merupakan konstanta, nilai r ≥ 0
>> g=100*log10(1+f);
5
Transformasi Power-Law Bentuk dasar: s = cr
◦ c dan merupakan konstanta positif. Memetakan range sempit dari input
gray level menjadi range yang lebar pada output gray level-nya.
Mirip dengan transformasi log, tapi dengan transformasi power-law dapat mempunyai variasi kurva yang lebih banyak daripada tranformasi log.
>> g = im2double(f);>> g2= 1 * g.^0.4;
gamma = 0.4gamma = 1 gamma = 0.1
6
Contrast Stretching Berguna untuk meningkatkan dynamic
range dari citra yang telah diproses. Tidak seperti transformasi
sebelumnya yang memproses semua input gray level, pada contrast stretching yang diproses bisa sebagian dari input gray level sesuai dengan grafik yang digunakan
>> g=f;>> g(g<50)=g(g<50)*0.2;>> g(g>=50 & g<150)=(g(g>=50 & g<150)-50)*2+30;>> g(g>=150)=(g(g>=150)-150)*1+200;
Lxbybx
bxayax
axx
y
b
a
)(
)(
0
200,30,1,2,2.0,150,50 ba yyba
7
Histogram Histogram adalah dasar dari sejumlah teknik pemrosesan citra
pada domain spasial, seperti perbaikan, kompresi dan segmentasi citra.
Histogram dari suatu citra digital dengan range tingkat [0…L-1] adalah sebuah fungsi diskrit h(rk)=nk
◦ rk adalah tingkat keabuan ke-k ◦ nk adalah jumlah piksel dalam citra yang memiliki tingkat keabuan rk.
Normalisasi histrogram dilakukan dengan membagi setiap nilai nk dengan total jumlah piksel dalam citra, yang dinyatakan dengan n. ◦ Histogram yang sudah dinormalisasi dinyatakan dengan p(rk)= nk/n,
untuk k=0,1,…,L-1. p(rk) menyatakan estimasi probabilitas kemunculan tingkat
keabuan rk. Jumlah dari semua komponen “normalized histogram” sama
dengan 1.
8
Histogram Sumbu horisontal dari histogram menyatakan nilai tingkat keabuan rk.
Sumbu vertikal menyatakan nilai dari h(rk)=nk atau p(rk) = nk/n (jika nilainya dinormalisasi).
>> figure, imshow(f); >> figure, imhist(f);
1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
Lever keabuan
Jumlah piksel
9
0
5000
10000
15000
0 50 100 150 200 250
0
5000
10000
15000
0 50 100 150 200 250
0
5000
10000
15000
0 50 100 150 200 250
0
5000
10000
15000
0 50 100 150 200 250
Citra gelap
Citra terang
Citra kontras rendah
Citra kontras tinggi
10
Histogram NormalizationMenskalakan nilai piksel secara linear untuk
menggunakan secara penuh jangkauan yang gray-scale yang tersedia.
Transformasi yang digunakan:
untuk k=0,1,2,…,L-1disebut “histogram normalization”.
)1()min()max(
)min(
Lxnn
nns kk
11
Contoh Histogram Normalization (1)
Input: 4x4 image
Gray scale = [0,7]histogram
0 1
1
2
2
3
3
4
4
5
5
6
6
7
Number of pixels
Gray level
2 3 3 2
4 2 4 3
3 2 3 5
2 4 2 4
12
Contoh Histogram Normalization (2)
Gray Level(j)
0 1 2 3 4 5 6 7
nk 0 0 6 5 4 1 0 0
- - 0 0.3333 0.6667 1 - -
s x 7 - - 02.3333
24.6667
57 - -
2 3 3 24 2 4 33 2 3 52 4 2 4
0 2 2 05 2 5 32 0 2 70 5 0 5
)min()max(
)min(
nn
nns kk
13
Contoh Histogram Normalization (3)
Output: 4x4 image
Gray scale = [0,7]histogram
0 1
1
2
2
3
3
4
4
5
5
6
6
7
No. of pixels
Gray level
0 2 2 0
5 2 5 3
2 0 2 7
0 5 0 5
14
Histogram Equalization Histogram equalization digunakan untuk memetakan kembali nilai
piksel untuk membuat perkiraan linear akumulasi histogram. Transformasi yang digunakan:
untuk k=0,1,2,…,L-1 disebut “histogram equalization” atau “histogram linearization”.
Fungsi yang digunakan : h = histeq(f, b)
◦ h merupakan citra hasil equalisasi, ◦ f merupakan variabel citra dan b adalah jumlah bins yang digunakan dalam
membentuk histogram. nilai default, b=64 pada citra 6 bit.
k
jjrkk rprTs
0
k
j
jkk n
nrTs
0)(
15
Contoh Histogram Equalization (1)
Input: 4x4 image
Gray scale = [0,7]histogram
0 1
1
2
2
3
3
4
4
5
5
6
6
7
No. of pixels
Gray level
2 3 3 2
4 2 4 3
3 2 3 5
2 4 2 4
16
Contoh Histogram Equalization (2)Gray Level(j)
0 1 2 3 4 5 6 7
nj 0 0 6 5 4 1 0 0
0 0 6 11 15 16 16 16
0 0 6 / 16 11/16 15/16 16/16 16/16 16/16
s x 7 0 02.6253
4.81255
6.56257
7 7 7
2 3 3 24 2 4 33 2 3 52 4 2 4
3 5 5 37 3 7 55 3 5 73 7 3 7
k
jjn
0
k
j
j
n
ns
0
17
Contoh Histogram Equalization (3)
Output: 4x4 image
Gray scale = [0,7]histogram
0 1
1
2
2
3
3
4
4
5
5
6
6
7
No. of pixels
Gray level
3 5 5 3
7 3 7 5
5 3 5 7
3 7 3 7
18
Contoh Histogram Equalization (4)
>> g = histeq(f, 256);
sebelum
sesudah
19
Histogram Equalisasi LokalMetode pemrosesan histogram yang sudah dibahas,
yaitu “histogram equalization” bersifat global, karena piksel-piksel dimodifikasi menggunakan fungsi transformasi berbasis pada intensitas seluruh piksel pada citra.
Kadang diperlukan perbaikan pada suatu daerah yang kecil di dalam citra.
Teknik “histogram equalization” dapat diterapkan untuk perbaikan lokal.
Caranya:1. Definisikan daerah ketetanggaan (neighborhood)2. Pada setiap lokasi piksel, histogram dari piksel-piksel dalam
neighborhood dihitung.3. Tentukan fungsi transformasi “histogram equalization” dan fungsi
ini digunakan untuk memetakan intensitas piksel pada pusat neighborhood.
4. Ulangi langkah 2–3 untuk seluruh piksel dalam citra.
1 2 3
4 5 6
7 8 9
8 tetangga
20
Contoh Histogram Equalisasi Lokal (1)
Citra awal
Global Histogram Equalization
Local Histogram Equalization
21
Contoh Histogram Equalisasi Lokal (2)
2 3 3 2
4 2 4 3
3 2 3 5
2 4 2 4
2 3
4 2
Gray Level(j)
2 3 4
nj 2 1 1
2 3 4
2/4 3/4 4/4
s x 73.54
5.255
7
k
jjn
0
k
j
j
n
ns
0
8 tetangga
f(1,1) 2 3 3
4 2 4
f(1,2)Gray Level(j)
2 3 4
nj 2 2 2
2 4 6
2/6 4/6 6/6
s x 72.332
4.66675
7
k
jjn
0
k
j
j
n
ns
0
f(1,1) = (2/4)*7 = 3.5=4f(1,2) = (4/6)*7 = 4.67=5f(1,3) = (5/6)*7 = 5.83=6f(1,4) = (1/4)*7 = 1.75=2f(2,1) = (6/6)*7 = 7=7f(2,2) = (3/9)*7 = 2.33=2f(2,3) = (8/9)*7 = 6.22=6f(2,4) = (4/6)*7 = 4.67=5
f(3,1) = (4/6)*7 = 4.67=5f(3,2) = (4/9)*7 = 3.11=3f(3,3) = (5/9)*7 = 3.89=4f(3,4) = (6/6)*7 = 7f(4,1) = (2/4)*7 = 3.5=4f(4,2) = (6/6)*7 = 7f(4,3) = (2/6)*7 = 2.22=2f(4,4) = (3/4)*7 = 5.25=5
22
Contoh Histogram Equalization Lokal (3)
Output: 4x4 image
Gray scale = [0,7]histogram
0 1
1
2
2
3
3
4
4
5
5
6
6
7
No. of pixels
Gray level
3 5 5 3
7 3 7 5
5 3 5 7
3 7 3 7
4 5 6 2
7 2 6 5
5 3 4 7
4 7 2 5
23
Citra Biner Citra yang hanya mempunyai nilai level intensitas
keabuan hitam dan putih (0 dan 1). Menjadi dasar dalam pengolahan citra: morfologi,
segmentasi, representasi, pengenalan pola, dsb. Formula:
◦ Piksel yang diberi nilai 1 berkaitan dengan obyek sedangkan piksel yang diberi nilai 0 berkaitan dengan background.
◦ Ketika T adalah konstanta, pendekatan ini disebut global thresholding.
T y)f(x, jika0
T y)f(x, jika1),( yxg
24
Thresholding Salah satu cara memilih thresholding adalah dengan
pemeriksaan visual histogram citra. Histogram dalam gambar secara jelas mempunyai dua
mode yang berbeda. ◦ Mudah untuk memilih threshold T yang membaginya.
Metode yang lain dalam pemilihan T adalah dengan trial and error, mengambil beberapa threshold berbeda sampai satu nilai T yang memberikan hasil yang baik sebagai keputusan yang ditemukan observer .
25
Thresholding (2) Prosedur untuk pemilihan threshold secara otomatis:
1. Memilih perkiraan awal T. Disarankan perkiraan awal adalah titik tengah antara nilai intensitas minimum dan maksimum dalam citra.
2. Mensegmentasi citra menggunakan T. Ini akan menghasilkan dua kelompok piksel: G1, yang berisi semua piksel dengan nilai intensitas ≥ T, dan G2, yang berisi semua piksel dengan nilai intensitas < T.
3. Menghitung rata-rata nilai intensitas 1 dan 2 untuk piksel-piksel dalam region G1 dan G2.
4. Menghitung nilai threshold yang baru:
5. Mengulangi langkah 2 sampai 4 sampai perbedaan T dalam iterasi yang berturut-turut lebih kecil daripada parameter To sebelumnya.
212
1 T
26
Formulasi Otsu Normalisasi histogram sebagai fungsi probability discrete density, sebagai:
◦ di mana n adalah total jumlah piksel dalam citra, nq adalah jumlah piksel yang dipunyai level intensitas rq, dan L adalah total jumlah level intensitas yang tersedia dalam citra.
Andaikan bahwa threshold k dipilih maka C0 adalah sekumpulan piksel dengan level [0, 1, …, k – 1] dan C1 adalah sekumpulan piksel dengan level [k, k + 1, …, L – 1].
Metode Otsu memilih nilai k yang memaksimalkan between-class variance 2B, yang
didefinisikan sebagai:
1 - L .., 2, 1, 0, q)( n
nrp q
qr
2
11
2
00
2
TTB
1
00
k
qqqrp
1
1
L
kqqqrp
1
000
/k
qqqrqp
1
11/
L
kqqqrqp
1
0
L
qqqTrqp
>> T = graythresh(f)
>> T = 0.5*(double(min(i(:))) + double(max(i(:))));>> done = false;>> while ~doneg = i >= T;Tnext = 0.5*(mean(i(g)) + mean(i(~g)));done = abs(T - Tnext) < 0.5;T = Tnext;end
27
Citra abu-abu ke biner >> f = imread('anak.png'); >> T = graythresh(f) T = 0.5529 >> g = im2bw(f,T); >> imwrite(g,'anak_biner.tif'); >> f = imread('rice.tif'); >> T = graythresh(f) T = 0.5255 >> g = im2bw(f,T); >> imwrite(g,'rice_biner.tif');
Citra abu-abu Citra biner
28
Spektrum Warna Tahun 1966, Sir Isaac Newton menemukan bahwa ketika
cahaya dilewatkan ke kaca prisma, kemunculan cahaya tidak putih melainkan terdiri dari spektrum kontinu dari warna dengan range dari violet pada satu sisi sampai merah pada sisi yang lain.
Benda yang memantulkan, dibatasi range spektrum visible yang ditunjukkan beberapa bentuk warna. ◦ Misalnya, obyek green memantulkan cahaya dengan panjang
gelombang utamanya dalam range 500 sampai 570 nm.
29
Kuantitas dasar warna Cahaya kromatis merentangkan spektrum elektromagnetik mulai dari kira-
kira 400 sampai 700nm. Tiga kuantitas dasar: radiance, luminance, dan brightness. Radiance adalah jumlah perkiraan energi yang mengalir dari sumber
cahaya, dan biasanya diukur dalam watts (W). Luminance diukur dalam lumens (lm), memberikan ukuran perkiraan energi
yang dilihat observer dari sumber cahaya. ◦ Misalnya, cahaya diemisikan dari operasi sumber dalam jarak region infrared dari
spektrum yang dapat mempunyai energi yang signifikan (radiance), tetapi observer akan kesulitan melihatnya; luminasinya hampir menjadi nol.
Brightness adalah deskriptor subyektif yang secara praktek tidak mungkin diukur.
30
Warna Primer dan Sekunder Warna primer dapat ditambahkan untuk menghasilkan warna
sekunder (secondary color) dari cahaya, ◦ magenta (red ditambah blue), ◦ cyan (green ditambah blue), dan ◦ yellow (red ditambah green).
Pencampuran tiga warna primer, atau sekunder dengan kebalikan warna primer dalam intensitas menghasilkan cahaya putih.
Warna primer pigmen adalah magenta, cyan dan yellow, dan warna sekunder adalah red, green, dan blue.
Pencampuran warna cahaya Pencampuran warna pigmen
31
trichromatic coefficients
Persamaan tersebut dapat dinyatakan:
x + y + z = 1
ZYX
Xx
ZYX
Yy
ZYX
Zz
32
Model Warna RGB Terdiri dari tiga komponen:R,G,B. Ketika ditampilkan di monitor RGB, tiga kombinasi citra ini berada di
layar fosfor untuk menghasilkan warna citra komposit. Jumlah bit yang digunakan untuk merepresentasikan setiap piksel
dalam space RGB disebut pixel depth. Citra RGB di mana setiap citra red, green, dan blue adalah citra 8-bit.
◦ Dalam kondisi setiap warna piksel RGB [maka, triplet dari nilai (R,G,B)] mempunyai kedalaman 24-bit (3 lapis citra dengan jumlah bit per lapis).
Citra full-color sering digunakan untuk menyatakan citra berwarna RGB 24-bit. Total jumlah warna dalam citra 24-bit adalah (28)3 = 16,777,216
33
Citra RGB>> i = imread('city_bridge.jpg');>> fR = i(:,:,1);>> fG = i(:,:,2);>> fB = i(:,:,3);
>> rgb_image = cat(3, fR, fG, fB)
Citra RGB
Komponen Red Komponen Green Komponen Blue
34
Model Warna CMY dan CMYK (Cyan, Magenta, Yellow, Black) Perangkat yang menyimpan pigmen berwarna pada kertas, seperti printer dan mesin
fotokopi berwarna, membutuhkan data input CMY (konversi RGB ke CMY secara internal).
Konversi (persamaan dibawah):◦ Asumsi bahwa semua nilai warna dinormalisasi dalam range [0,1].
Persamaan di atas menunjukan bahwa cahaya dipantulkan dari permukaan yang dilapisi dengan cyan murni tidak berisi red (karena C = 1 – R dalam persamaannya).
Pengolahan citra dengan model warna ini digunakan dalam hubungan dengan pembuatan output hardcopy.
Kombinasi tiga warna ini untuk pencetakan menghasilkan warna yang tidak sepenuhnya hitam ◦ Untuk menghasilkan warna hitam yang benar (biasanya lebih dominan dalam pencetakan),
warna keempat, black ditambahkan, memberikan kemunculan model warna CMYK
B
G
R
Y
M
C
1
1
1
>> iCMY = imcomplement(iRGB);
Citra RGB Citra CMY
35
Model Warna HSI Sistem RGB cocok dengan kenyataan bahwa mata manusia
dengan kuat dapat mengetahui warna primer red, green, dan blue. Sayangnya, RGB, CMY, dan model warna sejenis tidak secara baik
cocok untuk menggambarkan warna dalam prakteknya untuk interpretasi manusia. ◦ Misalnya, tidak mereferensikan ke warna dari automobile dengan
pemberian persentase dari setiap warna primer yang mengisi warnanya. ◦ Jangan dianggap bahwa citra berwarna terdiri dari tiga citra primer yang
dikombinasikan untuk membentuk citra tunggal. Model warna HSI (hue, saturation, intensity), memisahkan
komponen intensitas dari informasi warna yang dibawa (hue dan saturasi) dalam warna citra.
Model HSI adalah tool yang ideal untuk mengembangkan algoritma pengolahan citra berdasarkan pada deskripsi warna yang alami dan intuitif terhadap manusia, pengembang dan usernya.
36
Model Warna HSI (2) Hue adalah atribut
warna yang menggambarkan warna murni (yellow, orange, atau red murni).
Saturation memberikan ukuran tingkat di mana warna murni yang dilemahkan oleh cahaya putih.
Intensity adalah tingkat/intensitas kedalaman warna (diantara hitam dan putih).
Warna primer dipisahkan oleh sudut 120o. Warna sekunder adalah 60o dari primer, yang berarti bahwa sudut di antara warna sekunder adalah 120o
37
Model Warna HSI (3)
Citra RGB Citra HSI
Citra Hue Citra Saturation Citra Intensity/Gray
38
Konversi warna RGB ke HSI
G B Jika360
G B JikaH
2/12
1
))])(()[(
)]()[(21
cosBGBRGR
BRGR
)],,[min()(
31 BGR
BGRS
)(3
1BGRI
Hue
Saturation
Intensity / Gray
39
Konversi warna HSI ke RGB Jika diberikan nilai HSI dalam
interval [0,1] maka dapat dicari nilai RGB dalam range yang sama.
Persamaan yang aplikatif tergantung pada nilai H.
Ada tiga sektor yang menarik, yang berhubungan dengan interval 120o dalam pembagian warna primer. ◦ Dimulai dengan perkalian H
dengan 360o, yang mengembalikan hue ke nilai aslinya dalam range [0o,360o]Sektor RG (0o ≤ H < 120o)
B = I(1 – S)
)60cos(
cos1
H
HSIR
o
G = 3I – (R + B)
Sektor GB (120o ≤ H < 240o)H = H – 120o
Kemudian komponen RGB dihitung:R = I(1 – S)
)60cos(
cos1
H
HSIG
o
B = 3I – (R + G)
Sektor BR (240o ≤ H ≤ 360o)H = H – 240o
Komponen RGB dihitung dengan:G = I(1 – S)
)60cos(
cos1
H
HSIB
o
R = 3I – (G + B)
40
ANY QUESTION ?
To Be Continued … Materi 4 – Pengolahan Citra dalam Domain Spasial dan Restorasi Citra