數字圖像入門 顏色的表達方式
夏昆岡 于 2011.06.09 10:57:42 | 源自:www.soomal.com | 版權:原創 | 平均/總評分:09.29/65

顏色可以通過數字方式記錄,以24位圖像為例,它可以最多記錄16777216種不同的顏色,分別記錄為0-16777215的數字。但這些色彩要如何表達呢?隨便取一個數字,2456432,它是什么顏色?并不直觀。它是否有易用易讀的表達方式?

  • 在編程中,經常會用到一個RGB函數來表達顏色,它的表達式為:

    • RGB(紅色值、綠色值、藍色值)
  • 這個函數非常直觀,例如RGB(0,0,0)為黑色、RGB(255,255,255)為白色、RGB(255,0,0),為紅色、RGB(127,127,127)為中度灰、RGB(0,0,255),為藍色等等,它通過函數方式分別確定紅綠藍數值,得到一個最終合成色的數值。這種表達方式不只是用于編程,它也可以用于標記性語言中用于標記顏色。在繪圖軟體當中,例如Photoshop,使用取色器取色,也會單獨顯示當前色彩的紅綠藍原色值,這比直接顯示一個合成色的數值要更加清晰明了。

    RGB是一個函數,它最終會返回合成色對應的整數值,RGB(0,0,0)的值為0,RGB(255,255,255)的值為16777215,RGB(255,0,0)的值為255,RGB(0,255,0)的值為65280,RGB(0,0,255)的值為16711680。它的求值公式基本為:

    • 合成色對應的整數值 = 紅色值+綠色值*256+藍色值*65536
  • 這些色彩值如果用十六進制表達,會發現其中規律。24位圖像最大色彩值,換成十六進制為FFFFFF,六位的十六進制數字,每兩位對應一個原色的值。其表達方式也非常直觀明了。低字節值表示紅色,中字節值表示綠色,高字節值表示藍色。因此使用十六進制數值來表達顏色,也十分廣泛。主要用于標記性語言當中。HTM[網頁]、XML均屬于標記性語言。

  • 在標記性語言當中,會在數值前加上#號,這個#沒有特殊意義,主要是防止程式將“FFFFFF”這樣的值當做普通字符串處理。它的“位”與原色的對應關系也有不同,紅色與藍色的位置對調,低字節值表示藍色,中字節值表示綠色,高字節值表示紅色。這樣重新組合后的結果就是從左至右依次紅綠藍排列,閱讀性上更好。

    這兩種表達方式雖有區別,但都屬于RGB顏色系統,除此之外,還有2種比較常見的顏色系統,這里也簡單介紹一下。

  • 除了RGB之外,還有一個色相、飽和度和亮度系統 (HSB),它定義顏色的方式不是利用三原色。色相記錄色相環的度數,0度時為紅色,120度時為綠色,240度時為藍色,其他度數為原色之間的中間色,記錄住度數,就記住了顏色,色相值的取值范圍為0-360。S與B分別表示飽和度和亮度,取值范圍0-100。.它表達色彩的形式與RGB相似,例如紅色為HSB(0,100,100),但其表達原理與RGB有本質不同。這種表達方式多用于繪圖軟體當中。

    另外還有一種較為常見的顏色系統——CMYK,這個與印刷有關。CMY是3種印刷油墨名稱的首字母:青色[Cyan]、品紅色[Magenta]、黃色[Yellow]。這三種色彩理論上能合成黑色,實際上只能得到深棕色,因此又加入了黑色Black,CMYK中的K即黑色,取用的尾字母,以避免和藍色[Blue]混淆。這個顏色系統是針對印刷品而設計的。

    為什么要單獨拿出一篇來說色彩的表達方式呢?因為在后面的篇幅當中,可能會涉及到圖像的處理與合成,可能會出現類似于RGB(255,127,63)和#FF8533這樣的“奇怪字符串”,你需要知道這代表了某種顏色。最后值得強調的是,不管哪種表達式,它最后返回的都是一個數值,這是數字圖像的構成基礎。在接下來的篇幅當中,我們會逐漸強化一個概念,這些色彩值是整數,而非小數,這個概念比較重要,為什么重要,我們會在后續的篇幅中一一說明。

    請評分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    211.069.194.***
    211.069.194.***
    發表于2017.04.26 17:19:38
    35
    03
    發表于2012.02.16 16:41:17
    32
    114.098.***.***
    114.098.***.***
    好啊好啊
    發表于2011.09.23 09:26:26
    31
    色域也是個基本概念,希望介紹一下,比如在選購顯示器時就需要了解。
    發表于2011.07.01 10:21:56
    30
    125.091.***.***
    125.091.***.***
    數字圖像入門非常好,如果有可能的話,也希望往后可以多發些類似數位攝像知識的文章,謝謝!
    發表于2011.06.21 16:00:28
    29
    123.138.***.***
    123.138.***.***
    數碼多網站的圖片壓縮質量一直很差..建議用png格式.會好很多.
    發表于2011.06.13 00:17:07
    28
    058.048.***.***
    058.048.***.***
    樓主說說Lab顏色模式唄。這個色域空間很大
    發表于2011.06.12 12:16:34
    27
    03
    發表于2011.06.11 11:10:06
    26
    03
    發表于2011.06.10 10:51:41
    24
    不過不知道電腦是怎樣顯示黑色的?怎樣可以用光來表現純黑色?
    發表于2011.06.10 00:25:25
    23
    03
    發表于2011.06.10 00:25:14
    22
    03
    最近想學photoshop和coreldraw,先補補課。
    發表于2011.06.10 00:22:13
    21
    03
    發表于2011.06.10 00:10:44
    20
    03
    還蠻好玩的。。那時候就用畫板做了個開關機畫面,然后用軟體設定一下就可以的了。。。
    發表于2011.06.09 23:30:24
    19
    03
    白黃青綠品紅藍黑~
    發表于2011.06.09 16:30:36
    17
    03
    16
    提示
    本貼不可匿名回復,回復等級為:1 ,您現在正處在潛水狀態
    回復
    驗證碼
    3060 為防止廣告機貼垃圾,不得已而為之
    表情
    正文
    京ICP備11010137號 京ICP證110276號 京公網安備110114000469號