Color Space Conversion RGB To XYZ
Color Space Conversion RGB To XYZ
Konversi dari ruang warna RGB ke XYZ dapat dilakukan. Konversi ini berguna salah satunya ketika kita ingin melakukan konversi ruang warna dari RGB ke CIELab. Hal yang pertama dilakukan adalah konversi RGB ke XYZ. Langkah-langkah dalam konversi RGB ke XYZ adalah Baca data citra berwarna (RGB) Ubah citra ke type double yang dilambangkan dengan I Lalu ekstraksi masing-masing komponen RGB dari citra berwarna = (: , : ,1) = (: , : ,2) = 255
Normalisasi tiap piksel pada citra dengan pembagian terhadap konstanta 255
= (: , : ,3)
= -
255
255
Lalu gunakan rumus berikut ini sebagai kelanjutan dari pengubahan nilai r, g dan b = 12.92 + 0.055 1.055
.
< 0.04045
Begitu juga untuk g dan b. Hanya dengan mengganti variabel r dengan ke dua variabel tersebut. Kalikan hasil r, g dan b di atas dengan nilai 100. Dalam hal ini kita menggunakan sRGB sebagai RGB Working Spacenya. Maka white reference (D65) nya adalah M=
Page 1
Untuk mendapatkan XYZ maka gunakan rumus: = Lalu kembalikan type bilangan citra ke uint8 setelah melakukan penyatuan ke tiga matriks. Hasil peng-aplikasi-an langkah-langkah di atas ditunjukkan pada program di bawah ini:
clear all; close all; clc; %% reading image and color filename='diagram.jpg'; I=imread(filename); imshow(I); title('RGB'); I=double(I); %% %% ubah dari rgb ke xyz M=[0.412453 0.357580 0.180423; 0.212671 0.715160 0.072169; 0.019334 0.119193 0.950227]; r=I(:,:,1)/255; g=I(:,:,2)/255; b=I(:,:,3)/255; if r<.04045 r=r/12.92; else r=((r+0.055)/1.055).^(2.44); end if g<.04045 g=g/12.92; else g=((g+0.055)/1.055).^(2.44); end if b<.04045 b=b/12.92; else b=((b+0.055)/1.055).^(2.44); end r=r*100; g=g*100; b=b*100; X=M(1,1)*r+M(1,2)*g+M(1,3)*b; Y=M(2,1)*r+M(2,2)*g+M(2,3)*b; Z=M(3,1)*r+M(3,2)*g+M(3,3)*b; newI=cat(3,X,Y,Z); newI=uint8(newI); figure, imshow(newI); title('RGB to XYZ'); %%
Page 2
Demikianlah artikel ini telah selesai ditulis (ahk terlalu formal) . Okay, untuk artikel berikutnya, kita akan melakukan inversi dari XYZ ke RGB lalu menambahkan artikel lain untuk mengubah RGB ke Lab dan implementasinya ke segmentasi citra berdasarkan warna. Berikut ini adalah tabel dari RGB Working Space:
Page 3
Page 4
[digital image processing] May 16, 2012 For those RGB working spaces that are not natively D50, the Bradford-adapted, D50 matrices are:
@ thanks
Sources: http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html http://www.easyrgb.com
Page 5