電腦中的顏色IV——純色、色相色

來源:互聯網
上載者:User

  前一篇文章介紹了顏色的HSV表示方法,其中H表示色相,亦即表示在色相環上的位置。S表示顏色的純度,當S=1時,表示顏色最純,當S=0時,表示顏色沒有純度,此時表示為灰階色。V表示顏色的亮度,當V=1,顏色最亮,當V=0時,亮度最低,此時表示顏色為黑色。

  綜上所述,當一個顏色(H,S,V)中的S=1,V=1時,此時該顏色表示色相環上的一種顏色。我們定義該顏色為純色或者是色相色。

  由於每種顏色都有H分量,因此任意一種顏色都和一種純色對應,他們之間的區別是S和V值不一樣,而H值是一樣的。同時,這種對應關係是一種多對一的關係,也就是說,只要幾種顏色的H值相同,則他們對應的是同一種純色。

  純色有什麼特點呢?首先純色也是一種顏色,因此也可以用RGB表示,同時還可以用HSV表示。通過前面的定義可知,用HSV表示的時候,S=1,V=1。我們先看前文中的轉化公示:

  S=1-Min/Max

  V=Max/255

  註:前文中的公式RGB的分量用[0,1]表示,本文已經轉化為[0,255],故有所差異

  若V=1,則Max=255

  若S=1,則Min=0

  由此可見,一個顏色是否是純色的充要條件是三個顏色分量中,最大分量為255,最小分量為0。

  前面提到,每種顏色都和一種純色相對應的關係。那麼他們之間一定有一個快速計算的過程,實際上,前文中的計算過程雖明了但複雜了。

  已知純色(R,G,B)和分量S,V,如何計算顏色(R’,G’,B’)

  通過推導,有下面的公式:

  R’=(R×S+255×(1-S))×V

  G’=(G×S+255×(1-S))×V

  B’=(B×S+255×(1-S))×V

 

  已知顏色(R’,G’,B’),如何計算純色(R,G,B)

  通過推導,有下面公式:

    Max為三個分量的最大值,Min為三個分量的最小值

    若Max=Min,三個分量一樣,此時表示灰階值,直接定義純色(255,0,0),S=0,V=Max

    若Max≠Min,

    R=255×(R’-Min)/(Max-Min)

    G=255×(G’-Min)/(Max-Min)

    B=255×(B’-Min)/(Max-Min)

    此時計算出的三個分量必定一個是255,一個是0。

 

  同一個色相的顏色有著一定的相關性,而通過純色計算得出相關的顏色,能加快計算速度,簡化計算過程。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.