1. 程式人生 > >不同顏色空間的轉換

不同顏色空間的轉換

LAB空間(球):

Lab中的數值描述正常視力的人能夠看到的所有顏色,與裝置無關的顏色模型。

L---亮度,值域為0至100,L=50時,相當於50%的黑;

a---洋紅色至綠色的範圍,值域+127至-128,+127為紅色,-128為綠色;

b---黃色至藍色的範圍,值域+127至-128,

 

HSV空間(倒錐模型):

又稱六角形錐體模型,H表示色調,S為飽和度,V為明度

H---用角度度量,取值範圍為0~360度,從紅色開始按逆時針計算,紅色為0度,綠色為120度,藍色為240度,黃色為60度,青色為180度,品紅為300度

S---表示顏色接近光譜色的程度,取值為0至100%,值越大,顏色越飽和。

V---顏色明亮的程度,取值範圍為從0到1.

一.RGB轉LAB空間

RGB無法直接轉換為LAB空間,需要先轉化為XYZ,再轉化為LAB

(1)RGB與XYZ空間的關係

因為RGB的取值範圍為[0,255],因此為使XYZ與RGB在同等範圍內對映,X,Y,Z的值分別除以0.950456,1.0,1.088754

(2)XYZ與Lab的關係

 

Xn,Yn,Zn一般預設是0.950456,1.0,1.088754

二.LAB空間轉RGB空間

先將LAB轉化為XYZ,再從XYZ轉化為RGB

 

 三.RGB轉化為灰度圖

彩色影象相當於一個三維矩陣,灰度圖相當於三維矩陣對映為二維矩陣

轉換公式為:Gray = R*0.299 + G*0.587 + B*0.114 

四.RGB與HSV空間轉化

五.HSV到RGB的轉化