日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HSV RGB颜色空间互转

發布時間:2025/7/25 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HSV RGB颜色空间互转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫了一段有關顏色的文章,回顧過去幾篇文章,做一個階段性總結。利用前幾篇文章的心得,推導出快速轉換RGB模式與HSV模式的公式。

  RGB模式:用R、G、B三個顏色的分量來表示顏色,分量的取值范圍為[0,255],整數型

  HSV模式:用H、S、V三個分量來表示顏色。

        分量H:表示顏色的色相,取值[0,360),整數型

        分量S:表示顏色的純度,取值[0,1),浮點數型

        分量V:表示顏色的亮度,取值[0,1),浮點數型

  以上內容,詳細請參看“計算機中的顏色III——HSV表示方法”

  1、RGB到HSV

    顏色(R,G,B)如何快速轉化到(H,S,V)

    參看文章“計算機中的顏色IV——純色、色相色”,“計算機中的顏色V——快速計算顏色的色相值”

    令MAX為R、G、B三個分量的最大值;MIN為三個分量的最小值

    若MAX=MIN,則

      H=0

      S=0

      V=MAX/255

    若MAX≠MIN

      當G≥B時

        H=(Max-R’+G’-Min+B’-Min)/(Max-Min)×60

        S=1-MIN/MAX

        V=MAX/255

      當G<B時

        H=360-(Max-R’+G’-Min+B’-Min)/(Max-Min)×60

        S=1-MIN/MAX?

        V=MAX/255

  2、HSV到RGB

    顏色(H,S,V)如何快速轉化到(R,G,B)

    參看文章“計算機中的顏色VIII——快速計算顏色的偏轉”

    顏色(H,S,V)可以看成顏色(0,S,V)順時針偏轉H后得到顏色,其實,就是獲得該顏色MAX與MIN分量

    MAX=V×255=255V

    若S=0,說明MAX=MIN,此時表示灰度色

      R=MAX

      G=MAX

      B=MAX

    若S>0,則令ρ=MAX-MIN=255SV,MIN=MAX-ρ

      若H>180,令H’=360-H;反之,令H’=H

      令λ=H’/60×ρ

      R=2ρ-λ;若R<0,則R=0;若R>ρ,則R=ρ;?

      G=λ;若G>ρ,則G=ρ;

      B=λ-2ρ;若B<0;則B=0;

      若H>180,則交換G和B分量的值;反之,不交換。最后

      R=R+MIN

      G=G+MIN

      B=B+MIN

  總述,以上是我推導的HSV和RGB的互相轉化公式,比許多網上介紹的原來的公式來的簡單。參看“計算機中的顏色III——HSV表示方法”。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的HSV RGB颜色空间互转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。