40
Transformasi dan Model Warna Citra Digital Pengolahan Citra Digital Materi 3 Eko Prasetyo Teknik Informatika UMG-UPN Veteran Jatim 2012

Transformasi dan Model Warna Citra Digital

  • Upload
    ossie

  • View
    144

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Transformasi dan  Model  Warna  Citra Digital

Transformasi dan Model Warna Citra DigitalPengolahan Citra Digital

Materi 3

Eko Prasetyo

Teknik Informatika

UMG-UPN Veteran Jatim

2012

Page 2: Transformasi dan  Model  Warna  Citra Digital

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

Page 3: Transformasi dan  Model  Warna  Citra Digital

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;

Page 4: Transformasi dan  Model  Warna  Citra Digital

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

Page 5: Transformasi dan  Model  Warna  Citra Digital

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

Page 6: Transformasi dan  Model  Warna  Citra Digital

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

Page 7: Transformasi dan  Model  Warna  Citra Digital

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.

Page 8: Transformasi dan  Model  Warna  Citra Digital

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

Page 9: Transformasi dan  Model  Warna  Citra Digital

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

Page 10: Transformasi dan  Model  Warna  Citra Digital

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

Page 11: Transformasi dan  Model  Warna  Citra Digital

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

Page 12: Transformasi dan  Model  Warna  Citra Digital

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

Page 13: Transformasi dan  Model  Warna  Citra Digital

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

Page 14: Transformasi dan  Model  Warna  Citra Digital

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

Page 15: Transformasi dan  Model  Warna  Citra Digital

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

Page 16: Transformasi dan  Model  Warna  Citra Digital

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

Page 17: Transformasi dan  Model  Warna  Citra Digital

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

Page 18: Transformasi dan  Model  Warna  Citra Digital

18

Contoh Histogram Equalization (4)

>> g = histeq(f, 256);

sebelum

sesudah

Page 19: Transformasi dan  Model  Warna  Citra Digital

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

Page 20: Transformasi dan  Model  Warna  Citra Digital

20

Contoh Histogram Equalisasi Lokal (1)

Citra awal

Global Histogram Equalization

Local Histogram Equalization

Page 21: Transformasi dan  Model  Warna  Citra Digital

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

Page 22: Transformasi dan  Model  Warna  Citra Digital

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

Page 23: Transformasi dan  Model  Warna  Citra Digital

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

Page 24: Transformasi dan  Model  Warna  Citra Digital

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 .

Page 25: Transformasi dan  Model  Warna  Citra Digital

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

Page 26: Transformasi dan  Model  Warna  Citra Digital

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

Page 27: Transformasi dan  Model  Warna  Citra Digital

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

Page 28: Transformasi dan  Model  Warna  Citra Digital

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.

Page 29: Transformasi dan  Model  Warna  Citra Digital

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.

Page 30: Transformasi dan  Model  Warna  Citra Digital

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

Page 31: Transformasi dan  Model  Warna  Citra Digital

31

trichromatic coefficients

Persamaan tersebut dapat dinyatakan:

x + y + z = 1

ZYX

Xx

ZYX

Yy

ZYX

Zz

Page 32: Transformasi dan  Model  Warna  Citra Digital

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

Page 33: Transformasi dan  Model  Warna  Citra Digital

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

Page 34: Transformasi dan  Model  Warna  Citra Digital

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

Page 35: Transformasi dan  Model  Warna  Citra Digital

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.

Page 36: Transformasi dan  Model  Warna  Citra Digital

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

Page 37: Transformasi dan  Model  Warna  Citra Digital

37

Model Warna HSI (3)

Citra RGB Citra HSI

Citra Hue Citra Saturation Citra Intensity/Gray

Page 38: Transformasi dan  Model  Warna  Citra Digital

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

Page 39: Transformasi dan  Model  Warna  Citra Digital

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)

Page 40: Transformasi dan  Model  Warna  Citra Digital

40

ANY QUESTION ?

To Be Continued … Materi 4 – Pengolahan Citra dalam Domain Spasial dan Restorasi Citra