Android Camera 即時濾鏡(六)

來源:互聯網
上載者:User

標籤:camera   android   顏色   

HSL色彩模式 1、顏色HSL

H: hue 色調  
S: saturation 飽和度   
L: lum 亮度

2、概述
  • HSL色彩模式是工業界的一種顏色標準,是通過對色調(H)、飽和度(S)、亮度(L)三個色彩通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,HSL即是代表色調,飽和度,亮度三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統之一。   
  • HSL色彩模式使用HSL模型為映像中每一個像素的HSL分量分配一個0~255範圍內的強度值。HSL映像只使用三種通道,就可以使它們按照不同的比例混合,在螢幕上重現16777216種顏色。   
  • 在 HSL 模式下,每種 HSL 成分都可使用從 0到 255的值。(其中L是從黑(0)到白(255)漸層) 。
3、HSL與RGB轉換

a) RGB→HSL的演算法描述

步驟1:把RGB值轉成【0,1】中數值。
步驟2:找出R,G和B中的最大值。
步驟3:設L=(maxcolor + mincolor)/2
步驟4:如果最大和最小的顏色值相同,即表示灰色,那麼S定義為0,而H未定義並在程式中通常寫成0。
步驟5:否則,測試L:
  If L<0.5, S=(maxcolor-mincolor)/(maxcolor + mincolor)
  If L>=0.5, S=(maxcolor-mincolor)/(2.0-maxcolor-mincolor)
步驟6: If R=maxcolor, H=(G-B)/(maxcolor-mincolor)
  If G=maxcolor, H=2.0+(B-R)/(maxcolor-mincolor)
  If B=maxcolor, H=4.0+(R-G)/(maxcolor-mincolor)
步驟7:從第6步的計算看,H分成0~6地區。RGB色彩空間是一個立方體而HSL色彩空間是兩個六角形錐體,其中的L是RGB立方體的主對角線。因此,RGB立方體的頂點:紅、黃、綠、青、藍和品紅就成為HSL六角形的頂點,而數值0~6就告訴我們H在哪個部分。H=H*60.0,如果H為負值,則加360。

b) HSL→RGB的演算法描述

步驟1:If S=0,表示灰色,定義R,G和B都為L.
步驟2:否則,測試L:
   If L<0.5,temp2=L*(1.0+S)
   If L>=0.5,temp2=L+S-L*S
步驟3:temp1=2.0*-temp2
步驟4:把H轉換到0~1。
步驟5:對於R,G,B,計算另外的臨時值temp3。方法如下:
   for R, temp3=H+1.0/3.0
   for G, temp3=H
   for B, temp3=H-1.0/3.0
   if temp3<0, temp3=temp3+1.0
   if temp3>1, temp3=temp3-1.0
步驟6:對於R,G,B做如下測試:
   If 6.0*temp3<1,color=temp1+(temp2-temp1)*6.0*temp3
   Else if 2.0*temp3<1,color=temp2
   Else if 3.0*temp3<2,
   color=temp1+(temp2-temp1)*((2.0/3.0)-temp3)*6.0
   Else color=temp1

執行個體

Android Camera 即時濾鏡(六)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.