warna -...

74
Warna IF4073 Interpretasi dan Pengolahan Citra Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung 2019

Upload: others

Post on 01-Jan-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Warna

IF4073 Interpretasi dan Pengolahan Citra

Oleh: Rinaldi Munir

Program Studi Teknik InformatikaSekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung2019

Perndahuluan

• Citra berwarna memiliki informasi yang lebih kaya daripada citragrayscale atau citra biner.

• Warna yang diterima oleh mata (atau lensa kamera) dari sebuah objek ditentukanoleh warna sinar yang dipantulkan oleh objek tersebut.

• Sebagai contoh, suatu objek berwarna biru karena objek tersebut memantulkansinar biru dengan panjang gelombang 450 sampai 490 nanometer (nm).

Illumination sourcescene

reflectioneye

Sumber: Jen-Chang Liu, Spring 2006Color Image Processing

• Kenapa menggunakan warna di dalam pengolahan citra?

• Warna adalah deskriptor yang berdayaguna (powerful descriptor)

• Identifikasi objek dan ekstraksinya

• Contoh: Face detection dengan menggunakan warna kulit

• Segmentasi citra menjadi region-region berdasarkan warna

Original RGB Image Color Clusters by K-Means

Teori Warna

• 1666, Isaac Newton

Warna Tampak

• Warna sinar yang direspon oleh mata adalah sinar tampak (visiblespectrum) dengan panjang gelombang berkisar dari 400 (biru) sampai700 nm (merah).

sinar sinar sinar

kosmik gamma X

ultra

violet

Infra

merah

micro TV radio electr.

wave wave wave power

ultra violet sinar tampak infra merah

400 nm 700 nm

• Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green(G), dan blue (B).

• Ketiga warna tersebut dinamakan warna pokok (primary colors), dan sering disingkat sebagai warna dasar RGB.

• Warna-warna lain dapat diperoleh dengan mencampurkan ketigawarna pokok (R, G, dan B) dengan perbandingan tertentu:

• Secondary colors: G+B=Cyan, R+G=Yellow, R+B=Magenta

C = a R + b G + c B

Model Warna

• Istilah yang semakna: model warna (color model), ruang warna (color space), atau system warna (color system)

• Menspesifikasikan warna dalam suatu cara yang baku• Sistem koordinat sehingga setiap warna disajikan dengan sebuah titik

• Model warna (atau ruang warna) yang digunakan di dalam pengolahancitra:1. Model warna RGB2. Model warna CMY dan CMYK3. Model YCbCr4. Model warna HSI5. Model warna XYZ

Cocok untuk hardware atauaplikasi

- Sesuai dengan deskripsi manusia

- Model warna fiktif, untuk proses antara

Model Warna RGB

• Model warna RGB digunakan untuk display pada layar komputer

• CIE (Commission International de l’Eclairage) atauInternational Lighting Committee adalah lembagayang membakukan warna pada tahun 1931.

• CIE menstandarkan panjang gelombang warna-warnapokok sebagai berikut:

R : 700 nm

G : 546.1 nm

B : 435.8 nm

Ruang warna RGB

14

Catatan: (0, 0, 1) adalah nilai normalisasi dari (0, 0, 255) pada citra dengan kedalaman 24-bit

red

blue

green

(0,0,0)

(0,0,1)

(0,1,0)

(1,0,0)

R,G,B)

Warna-warna dalam RGB bersifat additive:• C = a R + b G + c B• G+B=Cyan, R+G=Yellow, R+B=Magenta• Diagonal utama => gray levels

• Hitam adalah (0, 0, 0)• Putih adalah (1, 1, 1)

Rentang warna (gamut) model RGB didefinisikandengan rumus:

C = aR + bG + cB

Nilai-nilai R, G, dan B, dalam berbagai sistem: RGB NTSC CIE Monitor R (0.67, 0.33) (0.73, 0.26) (0.62, 0.34)G (0.21, 0.71) (0.27, 0.71) (0.26, 0.59)B (0.14, 0.08) (0.16, 0.01) (0.15, 0.07)

Catatan:

• Format NTSC digunakan pada televisi di Amerika Serikat

• National Television Systems Committee (NTSC) menggunakan model

warna RGB khusus untuk menampilkan citra berwarna pada layar CRT..

=

Red Green Blue

148 162 175 182 189 194 195 193 195 195 197148 164 174 176 185 189 191 191 196 194 195144 159 167 176 178 185 188 191 196 194 197128 147 157 168 173 179 182 184 191 191 192119 134 148 160 164 170 179 176 181 189 185145 124 142 151 160 168 169 174 180 182 183172 120 140 153 157 169 171 178 180 182 182196 120 129 144 152 158 167 170 177 176 178204 144 116 134 142 149 155 165 165 170 171

42 43 48 50 53 56 56 53 54 54 5450 49 51 47 53 55 56 55 59 55 5451 48 47 49 49 51 50 52 54 51 5453 48 45 49 50 52 50 48 51 50 5059 43 43 48 47 48 54 47 49 55 50

100 42 41 42 44 46 45 46 50 52 50142 47 43 42 39 46 44 48 49 51 49185 65 44 42 42 43 48 46 50 48 49209 106 44 42 41 42 44 50 48 50 49

16 24 32 35 37 40 40 37 37 38 3619 25 31 28 34 37 38 37 40 35 3317 23 27 33 32 35 33 36 39 35 3720 19 23 31 33 34 34 32 36 35 3529 16 24 33 32 34 39 30 31 38 3471 11 18 24 30 33 30 30 34 36 34

113 14 16 21 24 32 30 32 33 35 33156 32 13 20 25 28 33 31 35 33 32177 72 9 16 22 26 30 35 32 33 32

Red

Green

Blue

function fig = imColorSep(A)% IMCOLORSEP Displays the RGB decomposition of a full-color image%% Syntax: fig = imColorSep(A);%% Example: A = imread('peppers.png');% fig = imColorSep(A);%%% Written by: Rick Rosson, 2007 December 26%% Revised: Rick Rosson, 2008 January 2%% Copyright (c) 2007-08 Richard D. Rosson. All rights reserved.%%% Number of gray scale values:N = 256;% Make sure data type of image array is 'uint8':A = im2uint8(A);% Create figure window:fig = figure;% Display full color image:subplot(2,2,1);imshow(A);title('Full Color');

% Cell array of color names:ColorList = { 'Red' 'Green' 'Blue' };

% Gray-scale column vector: % range [ 0 .. 1 ]gr = 0:1/(N-1):1; % increment 1/(N-1)

% Display each of the three color components:for k = 1:3

% color map:cMap = zeros(N,3);cMap(:,k) = gr;

% Display monochromatic image:subplot(2,2,k+1);imshow(ind2rgb(A(:,:,k),cMap));title(ColorList{k});

endend

Sumber: https://www.mathworks.com/matlabcentral/fileexchange/18125-rgb-image-decomposition

Kode program Matlab untuk dekomposisi R, G, B dari citra berwarna

Model warna HSI

• Manusia tidak lazim mendeskripsikan warna dalam komponen R, G, dan B.

• Contoh: apakah anda akan mendeskripsikan warna ungu dalampersentase masing-masing R, G, dan B?

• Manusia mendekripsikan warna dengan atribut hue (H), dan saturation (S), dan intensity (I), sehingga dinamakan model HSI

1. Hue

• Atribut yang menyatakan warna sebenarnya, seperti merah, violet, dan kuning.

• Hue digunakan untuk membedakan warna-warna dan menentukankemerahan (redness), kehijauan (greenness), dsb, dari cahaya.

• Hue berasosiasi dengan panjang gelombang cahaya, dan bila kitamenyebut warna merah, violet, atau kuning, kita sebenarnyamenspesifikasikan hue-nya.

• Hue dikuantisasi dengan nilai dari 0 sampai 2; 0 menyatakan merah, lalu memutar nilai-nilai spektrum tersebut kembali lagi ke 0 untukmenyatakan merah lagi.

2. Saturation

• Menyatakan tingkat kemurnian warna cahaya, yaitu mengindikasikanseberapa banyak warna putih diberikan pada warna.

• Sebagai contoh, warna merah adalah 100% warna jenuh (saturated color), sedangkan warna pink adalah warna merah dengan tingkatkejenuhan sangat rendah (karena ada warna putih di dalamnya).

• Jadi, jika hue menyatakan warna sebenarnya, maka saturationmenyatakan seberapa dalam warna tersebut.

• Jika suatu warna mempunyai saturation = 0, maka warna tersebuttanpa hue, yaitu dibuat dari warna putih saja.

• Jika saturation = 1, maka tidak ada warna putih yang ditambahkanpada warna tersebut (primary colors)

3. Intensity/brigthness/luminance

• Atribut yang menyatakan banyaknya cahaya yang diterima oleh matatanpa mempedulikan warna.

• Kisaran nilainya adalah antara gelap (hitam = 0) dan terang (putih = 1)

S

H

I

Merah Hijau

Biru

Gelap

Terang

= hue

Titik warna

Saturation

Model HSI

• Hue dikodekan sebagai sudut (0 sampai 2).

• Saturation adalah jarak ke sumbu vertikal (0 sampai 1).

• Intensity adalah tinggi sepanjang garis vertikal (0 sampai 1).

Model HSI

R,G,B Hue

saturationintensity

Citra-citra yang menggambarkan komponen HSI:

(kiri) Citra makanan yang diambil dengan kamera digital;

(tengah) nilai saturation tiap pixel diturunkan 20%

(kanan) nilai saturation tiap pixel dinaikkan 40%27

Menyunting saturasi warna:

Transformasi Warna dari RGB ke HSI

• Meskipun basis RGB bagus untuk menampilkan informasi warna, tetapi iatidak cocok untuk beberapa aplikasi pemrosesan citra.

• Misalnya pada aplikasi pengenalan objek, lebih mudah mengidentifikasiobjek dengan perbedaan hue-nya dengan cara memberikan nilai ambangpada rentang nilai-nilai hue (panjang helombang spektrum) yang melingkupi objek.

• Pada aplikasi pemampatan citra, pemampatan citra berwarna lebih relevanbila warna RGB-nya dikonversikan ke HSI karena algoritma pemampatanpada citra skala-abu dilakukan pada komponen I, sedangkan nilai H dan Sdikodekan dengan cara yang lain dengan sedikit atau sama sekali tidak adadegradasi.

B

GR

SH

)(3

1BGRI

))(()(2

2cos

2

1

BGBRGR

BGRH

),,min(3

1 BGRBGR

S

• Segitiga menghubungkan tiga warna pokok red, green,

blue .

• Titik-titik pada segitiga menyatakan warna yang

dihasilkan dari pencampuran warna titik sudut.

• Titik-titik di dalam segitiga menyatakan warna yang

dapat dihasilkan dengan mengkombinasikan tiga

warna titik sudut.

• Titik tengah segitiga menyatakan warna putih, yaitu

pencampuran warna pokok dengan fraksi yang sama

Segitiga HSI

Alternatif lain transformasi:

• Langkah pertama: rotasikan koordinat RGB ke sistem koordinat (I, V1, V2):

• Langkah kedua adalah menghitung H dan S dari koordinat (V1, V2):

6/16/16/2

2/12/10

3/33/33/3

2

1

V

V

I

B

G

R

H = tan-1(V2/V1)

S = (V12 + V2

2)1/2

• Transformasi balikan dari HSI ke RGB:

V1 = S cos(H)

V2 = S sin(H)

6/12/13/3

6/12/13/3

6/203/3

B

G

R

=

2

1

V

V

I

original R

G

G

H S I

BSumber: Jen-Chang Liu, Spring 2006Color Image Processing

Pelembutan citra berwarna

• Neighborhood processing

Pelembutan citra berwarna: penapis rerata

xySyx

yxK

yx),(

),(1

),( cc

NeighborhoodCentered at (x,y)

xy

xy

xy

Syx

Syx

Syx

yxBK

yxGK

yxRK

yx

),(

),(

),(

),(1

),(1

),(1

),(c

vector processing

per-component processing

Sumber: Jen-Chang Liu, Spring 2006Color Image Processing

Contoh: penapis rerata 5x5

RGB model

Smooth Iin HSI model difference

Sumber: Jen-Chang Liu, Spring 2006Color Image Processing

Model Warna CMY dan CMYK

• Warna cyan (C) , magenta (M), dan yellow (Y) adalah warna komplementer terhadap red, green, dan blue.

• Dua buah warna disebut komplementer jikadicampur dengan perbandingan yang tepatmenghasilkan warna putih.

• Misalnya, magenta jika dicampur denganperbandingan yang tepat dengan greenmenghasilkan putih, karena itu magenta adalahkomplemen dari dari green

• Model warna CMY digunakan pada printer yang mencetak hardcopycitra berwarna.

• CMY = White – RGB:

C = 1 – R,

M = 1 – G,

Y = 1 – B

• CMY adalah model warna substractive

B

G

R

Y

M

C

1

1

1

• Karena ketidaksempurnaan tinta, model CMY tidak dapatmenghasilkan warna hitam dengan baik.

• Karena itu, model CMY disempurnakan menjadi model CMYK, yang dalam hal ini K menyatakan warna keempat (hitam), dengan rumus:

K = min(C, M, Y)

C = C – K,

M = M – K,

Y = Y - K

int RGB_toCMYK(citra r, citra g, citra b,

citra c, citra m, citra y, citra k,

int N, int M)

/* Transformasi citra dari model warna RGB ke model CMYK.

Masukan: citra dengan komponen RGB masing-masing disimpan di dalam

matriks r, g, dan b. Ketga mtariks ini berukuran N M.

Keluaran: citra dengan komponen CMYK masing-masing disimpan di dalam

matriks c, y, m, dan k.

*/

{

int i, j;

for (i=0; i<=N-1; i++)

for (j=0; j<=M-1; j++)

{

c[i][j]=(unsigned char)255 – r[i][j];

m[i][j]=(unsigned char)255 – g[i][j];

y[i][j]=(unsigned char)255 – b[i][j];

k[i][j]=c[i][j];

if (m[i][j]<k[i][j]) k[i][j]=m[i][j];

if (y[i][j]<k[i][j]) k[i][j]=y[i][j];

c[i][j]=c[i][j]-k[i][j];

m[i][j]=m[i][j]-k[i][j];

y[i][j]=y[i][j]-k[i][j];

}

}

int CMYKtoRGB(citra c, citra y, citra m, citra k,

citra r, citra g, citra b,

int N, int M)

/* Transformasi citra dari model warna CMYK ke model RGB.

Masukan: citra dengan komponen CMYK masing-masing disimpan di dalam

matriks c, y, m, dan k. Ketga mtariks ini berukuran N M.

Keluaran: citra dengan komponen RGB masing-masing disimpan di dalam

matriks r, g, dan b.

*/

{

int i, j;

for (i=0; i<=N-1; i++)

for (j=0; j<=M-1; j++)

{ c[i][j]=c[i][j]+k[i][j];

m[i][j]=m[i][j]+k[i][j];

y[i][j]=y[i][j]+k[i][j];

k[i][j]=c[i][j];

r[i][j]=(unsigned char)255 – c[i][j];

g[i][j]=(unsigned char)255 – m[i][j];

b[i][j]=(unsigned char)255 – y[i][j];

}

}

Example: modify intensity of a color image

• Example: g(x,y)=k f(x,y), 0<k<1

• HSI color space• Intensity: s3 = k r3

• Note: transform to HSI requires complex operations

• RGB color space• For each R,G,B component: si = k ri

• CMY color space• For each C,M,Y component:

• si = k ri +(1-k)

Sumber: Jen-Chang Liu, Spring 2006Color Image Processing

I H,S

Sumber: Jen-Chang Liu, Spring 2006Color Image Processing

Model warna XYZ

• Sudah dijelaskan sebelumnya bahwa warna-warna dapat dinyatakansebagai kombinasi linier tiga warna dasar, yang disebut warna pokok(primary colors).

• Contoh warna dasar adalah R, G, dan B. Namun RGB bukan satu-satunya warna pokok yang dapat digunakan untuk menghasilkankombinasi warna.

• Warna lain dapat juga digunakan sebagai warna pokok (misalnya C = Cyan, M = Magenta, dan Y = Yellow).

• CIE mendefinisikan model warna dengan menggunakan warna-warnaimajinier (yaitu, warna yang secara fisik tidak dapat direalisasikan), yang dilambangkan dengan X, Y, dan Z.

• Model warna tersebut dinamakan model XYZ. Warna-warnadispesifikasikan dengan jumlah relatif warna pokok fiktif.

• Keuntungan utama dari model ini adalah luminance atau brigntnesssinyal disediakan langsung oleh Y.

• Model warna XYZ bersifat device independent (tidak seperti model RGB atau CMY yang device dependent).

CIE Color Matching Functions

CIE RGB Matching Functions CIE XYZ Matching Functions

• Kromatisitas (chromaticity of color) masing-masing warna pokok, menunjukkan persentase relatif suatu warna pokok di antara warnapokok lainnya:

• Jumlah seluruh nilai kromatisitas warna adalah satu:

x + y + z = 1

atau

z = 1 – (x + y)

• Warna putih acuan dinyatakan dengan X = Y = Z = 1

ZYX

Xx

ZYX

Yy

ZYX

Zz

• Koordinat kromatisitas digunakan untuk menggambarkan diagram kromatisitas

49

CIE Chromaticity Diagram

50

CIE Chromaticity Diagram

• Hue dari warna tertentu diperoleh dengan menarik garis dari putih (C) ke sisi elips melalui warna tersebut. Hue dari warna adalah panjang gelombang pada titik potong garis dengan sisi diagram.

• Misal warna A, tarik garis dari C melalui A dan memotong sisi diagram di B.

• Saturation adalah panjang CA relatif terhadap CB: saturation = CA/CB

• Warna komplementer adalah warna-warna yang dapat dicampurkan untuk menghasilkan warnaputih. D dan E adalah komplementer.

• Color gamuts atau rentang warna (sebagai efek mencampurkan warna bersama-sama) yang dapat ditampilkan oleh device.

• Tariklah garis dari warna A ke warna B, maka garis sepanjang A ke B menyatakanwarna-warna hasil pencampuran.

By additivity of colors:Any color inside thetriangle can be producedby combinations of thethree initial colors

RGB gamut ofmonitors

Color gamut ofprinters

• Transformasi warna dari basis CIE RGB ke CIE XYZ dapat dilakukansebagai berikut: Diberikan triplet RGB (Ri, Gi, Bi) untuk pixel i, makatriplet XYZ (Xi, Yi, Zi) dihitung dengan

• Transformasi sebaliknya dari CIE XYZ ke CIE RGB dapat dilakukandengan persamaan

99.0010.0000.0

011.0813.0177.0

200.0310.0490.0

i

i

i

Z

Y

X

i

i

i

B

G

R

009.1014.0005.0

088.0425.1515.0

468.03896.0365.2

i

i

i

B

G

R

i

i

i

Z

Y

X

int cieRGB_toXYZ(citra r, citra g, citra b,

citra x, citra y, citra z, int N, int M)

/* Transformasi citra dari model warna CIE RGB ke model CIE XYZ

Masukan: citra dengan kompoenen RGB masing-masing disimpan di dalam

matriks r, g, dan b. Ketga mtariks ini berukuran N M.

Keluaran: citra dengan komponen XYZ masing-masing disimpan di dalam

matriks x, y, dan z.

*/

{

int i, j; double R, G, B; double X, Y, Z;

for (i=0; i<=N-1; i++)

for (j=0; j<=M-1; j++)

{

R = (double)r[i][j]; G=(double)g[i][j]; B=(double)b[i][j];

X = 0.490*R+0.310*G+0.200*B;

Y = 0.177*R+0.813*G+0.011*B;

Z = 0.010*G+0.990*B;

if (X > 255.0) x[i][j]=255; else x[i][j]=(unsigned char)X;

if (Y > 255.0) y[i][j]=255; else y[i][j]=(unsigned char)Y;

if (Z > 255.0) z[i][j]=255; else z[i][j]=(unsigned char)ZX;

}

}

int XYZ_to_cieRGB(citra x, citra y, citra z,

citra r, citra g, citra b, int N, int M)

/* Transformasi citra dari model warna CIE XYZ ke model CIE RGB

Masukan: citra dengan komponen XYZ masing-masing disimpan di dalam

matriks x, y, dan z. Ketga mtariks ini berukuran N M.

Keluaran: citra dengan komponen RGB masing-masing disimpan di dalam

matriks r, g, dan b.

*/

{

int i, j; double R, G, B; double X, Y, Z;

for (i=0; i<=N-1; i++)

for (j=0; j<=M-1; j++)

{ X = (double)x[i][j]; Y =(double)y[i][j]; Z =(double)z[i][j];

R = 2.365*X-0.896*Y-0.468*Z;

G = -0.515*X+1.425*Y+0.088*Z;

B = 0.005*X-0.014*Y+1.009*Z;

if (R > 255.0) r[i][j]=255;

else if (R<0.0) r[i][j]=0;

else r[i][j]=(unsigned char)R;

if (G > 255.0) g[i][j]=255;

else if (G<0.0) g[i][j]=0;

else g[i][j]=(unsigned char)G;

if (B > 255.0) b[i][j]=255;

else if (B<0.0) b[i][j]=0;

else b[i][j]=(unsigned char)B;

}

rgb = imread('peppers512.bmp');

xyz = rgb2xyz(rgb);

Y = xyz(:,:,2);

imshow(Y)

Model warna YIQ

• Model warna YIQ (atau NTSC) digunakan untuk penyiaran siaran TV berwarna di Amerika Serikat.

Y = luminance/brightness/grayscale

I dan Q = kromaticity (I = hue, Q = saturation)

• Pada TV hitam-putih, hanya Y yang ditampilkan

• Ditransmisikan dengan menggunakan standard NTSC (National Television System Committee)

• Transformasi dari RGB ke YIQ:

• Transformasi dari YIQ ke RGB:

B

G

R

Q

I

Y

311052802120

321027505960

114058702990

...

...

...

𝑅𝐺𝐵

= 1 0.956 0.6211 −0.272 −0.6471 −1.106 1.703

𝑌𝐼𝑄

rgb = imread('gedung-sate.jpg');

YIQ = rgb2ntsc(rgb);

Y = YIQ(:,:,1);

I = YIQ(:,:,2);

Q = YIQ(:,:,3);

imshow(Y)

figure,imshow(I);

figure,imshow(Q);

Y

I

Q

Model warna YUV

• Model warna YUV digunakan untuk penyiaran siaran TV berwarna di Eropa.

• Transformasi dari RGB ke YUV:

• Transformasi dari YUV ke RGB:

𝑌𝑈𝑉

= 0.299 0.587 0.114−0.147 −0.289 0.4360.615 −0.515 −0.100

𝑅𝐺𝐵

𝑅𝐺𝐵

= 1 0.000 1.1401 −0.395 −0.5811 2.032 0.000

𝑌𝑈𝑉

Model warna HSV

• Mirip dengan HSI.

• H = Hue = jenis warna sebenarnya(merah, ungu, dll), rentang nilai 0 sampai 2

• S = Saturation = kemurnian warna, rentang nilai [0,1]

• V = Value = kecerahan sebuahwarna, rentang nilai [0, 1]

HSV Color Model

RGB cube HSV top view

HSV cone

Sumber: Donald House, Color Principles for Computer Graphics

HSV Color Model

Hue, an angular measure (0 … 360)

Sumber: Donald House, Color Principles for Computer Graphics

HSV Color Model

Saturation, a fractional measure (0.0 … 1.0)

Sumber: Donald House, Color Principles for Computer Graphics

HSV Color Model

Value, a fractional measure (0.0 … 1.0)

Sumber: Donald House, Color Principles for Computer Graphics

• Transformasi warna dari RGB ke HSV:

𝑉 = max(𝑅, 𝐺, 𝐵)

𝑉𝑚= V – min(R, G, B)

𝑆 = 0 , 𝑉 = 0𝑉𝑚𝑉

, 𝑉 > 0

𝐻 =

0 , 𝑆 = 0

60° ∙𝐺 − 𝐵

𝑉𝑚𝑚𝑜𝑑 6 , 𝑉 = 𝑅

60° ∙ 2 +𝐵 − 𝑅

𝑉𝑚

60° ∙ 4 +𝑅 − 𝐺

𝑉𝑚, 𝑉 = 𝐵

, 𝑉 = 𝐺

• Transformasi warna dari HSV ke RGB:

𝐾 = H/60

X = V(1 - S), Y = V(1 – ST), Z = V(1 – S)(1 – T)

T = H/60 - K

𝑅, 𝐺, 𝐵 =

𝑉, 𝑍, 𝑋 , 𝐾 = 0𝑌, 𝑉, 𝑋 , 𝐾 = 1𝑋, 𝑉, 𝑍 , 𝐾 = 2𝑋, 𝑌, 𝑉 , 𝐾 = 3𝑍, 𝑋, 𝑉 , 𝐾 = 4𝑉, 𝑋, 𝑌 , 𝐾 = 5

rgb = imread('lena.bmp');

hsv = rgb2hsv(rgb);

H = hsv(:,:,1)

imshow(H)

S = hsv(:,:,2);

figure, imshow(S);

V = hsv(:,:,3);

figure, imshow(V);

H S

V

Model warna YCbCr

• Dalam pemrosesan citra digital, citra berwarna RGB perlu dikonversi ke ruang warna lain, karena sistem visual manusia memiliki sensitivitas yang berbeda terhadap warna dan kecerahan.

• Model warna yang paling mendekai system visual manusia adalah HSV dan YCbCr

• Dalam ruang warna YCbCr, Y = luminance, Cb = Chrominance-blue, dan Cr = Chrominance-red.

• Komponen Y mewakili kecerahan piksel, sedangkan keduakomponen chrominan mewakili persepsi warna pixel.

• Transformasi dari RGB ke YCbCr:

• Transformasi dari YCbCr ke RGB:

rgb = imread('monarch.jpg');

ycbcr = rgb2ycbcr(rgb);

Y = ycbcr(:,:,1);

imshow(Y);

Cb = ycbcr(:,:,2);

figure,imshow(Cb)

Cr = ycbcr(:,:,3);

figure,imshow(Cr)

Y

Cb

Cr

Y(1:5,1:5)

ans =

5×5 uint8 matrix

91 92 93 94 97103 104 104 105 105103 104 106 107 10899 100 103 104 106

106 105 104 104 104

Cb(1:5,1:5)

ans =

5×5 uint8 matrix

103 103 103 103 103103 103 103 103 103103 103 103 103 102103 103 103 102 102102 102 102 102 102

Cr(1:5,1:5)

ans =

5×5 uint8 matrix

140 140 140 140 140140 140 140 140 140140 140 140 140 141140 140 140 141 141141 141 141 141 141