攝影師調色必看|色域|色彩空間|色彩模式|

攝影師在修圖時,最怕的就是螢幕上看起來完美,結果輸出後顏色跑掉。不管是要上傳到網路、交給客戶,還是印成實體照片,顏色準不準都超級重要。這時候,懂得色彩空間、顯示器特性,甚至印刷標準,就變得關鍵了。 這篇文章會帶你搞懂 CIE 1931 色彩空間 為什麼重要,還有 RGB、sRGB、Adobe RGB、CMYK、HSV、Lab 這些色彩模式的區別,讓你在修圖時可以避開色彩地雷,確保輸出不翻車!我們也會聊聊 8-bit、10-bit、12-bit 色深 對照片細節的影響,幫助你選擇最適合的顯示器和輸出方式。讓你的照片,不管在哪個螢幕或印刷上,都能保持應有的水準!
sticker
—————————CIE 1931————————— 1️⃣首先介紹CIE 1931 色彩空間是第一個基於人類視覺感知的色彩標準,由 國際照明委員會(CIE, Commission Internationale de l'Éclairage) 在 1931 年制定,主要目的是提供 設備無關(Device-Independent) 的顏色測量方法,使得不同顯示設備和印刷系統之間可以更準確地轉換顏色。
megapx
上圖示CIE xy 色度圖 是從 XYZ 色彩空間衍生出的 二維圖表,用來表示顏色的「色相(Hue)」與「飽和度(Saturation)」,不考慮亮度(L),我們主要探討色域所以先不考慮亮度。 名詞介紹 📌Gamma 曲線(Gamma Curve): Gamma 是影像輸出(如顯示器、相機)對輸入信號的非線性亮度調整曲線,因為人眼對亮度變化的感知是非線性的,對於暗部細節較敏感,對亮部變化較不敏感,所以Gamma 修正(Gamma Correction) 透過數學函數對亮度進行調整,使螢幕呈現的顏色更接近人眼感知。 Gamma 值通常介於 1.8 ~ 2.4,不同顯示標準有不同的 Gamma 設定: sRGB:Gamma 約 2.2 Adobe RGB:Gamma 約 2.2 Apple Gamma(舊 Mac 顯示器):Gamma 約 1.8 電影與影像標準(Rec. 709, DCI-P3):Gamma 約 2.4 低 Gamma(如 1.8):顏色較亮、對比較低,適合印刷或 Mac 系統使用。 高 Gamma(如 2.4):顏色較深、對比較高,適合電影或專業顯示器。 📌色域(Color Gamut): 色域是設備(顯示器、印刷機、相機)能夠呈現的顏色範圍,通常以 CIE 1931 xy 色度圖 表示。 不同色彩標準(sRGB、Adobe RGB、DCI-P3、Rec. 2020)對應不同的色域範圍。 sRGB 約覆蓋CIE 1931 35% Adobe RGB 約覆蓋CIE 1931 50% 📌D65 白點(D65 White Point): D65 是 CIE 定義的 標準日光白點(Standard Illuminant D65),對應於 6504K 色溫。 色溫(Kelvin, K) 代表光的冷暖: 低色溫(如 3000K) → 偏黃暖光(燈泡光)。 高色溫(如 9000K) → 偏藍冷光(陰天光)。 D65(6504K) 是介於暖光與冷光之間的標準白光,適合標準顯示器與色彩管理。 D65 在sRGB、Adobe RGB、DCI-P3:都使用 D65 作為標準白點,確保顯示設備與影像色彩一致。而印刷(CMYK):常使用 D50(5000K) 作為標準白點,以適應紙張反射光。
sticker
——————————RGB—————————— 2️⃣RGB(紅綠藍) 一種加色模型(Additive Color Model),主要用於顯示器、LED 和數位影像,三個基色(R、G、B)混合後可形成不同的顏色,當三者全開時產生白色,由於不同設備的 RGB 色域可能不同,未經標準化的 RGB 顏色在不同設備上可能顯示不同。
megapx
📌位元? 8 位元(8-bit per channel):0~255 範圍:每個顏色通道(R、G、B)使用 8-bit(2⁸ = 256 種數值),即 0~255。 應用:數位影像(JPG、PNG)。 標準 RGB 色彩空間(sRGB、Adobe RGB) 通常使用 8-bit 編碼。 顏色定義格式: RGB(255, 0, 0) → 純紅色 RGB(0, 255, 0) → 純綠色 RGB(0, 0, 255) → 純藍色 RGB(0, 0, 0) → 黑色 RGB(255, 255, 255) → 白色
megapx
📌所以用一個簡單乘法可以知道8 bit總共可以表示16,777,216(約 1677 萬種顏色)
megapx
以此類推10-bit、12-bit、16-bit per channel(HDR 影像、專業影像處理) 10-bit(0~1023) → 比 8-bit 更高的顏色細節,適用於 HDR 顯示器與專業影片製作。 12-bit(0~4095) → 更大的色深範圍,適用於高端相機與影像處理。 16-bit(0~65535) → RAW 檔案、專業影像編輯(如 Photoshop 16-bit 模式)。 10-bit color 1,073,741,824(約 10 億種) 12-bit color 68,719,476,736(約 687 億種) 16-bit color 281,474,976,710,656(約 28 兆種)
megapx
一般使用者的 螢幕與人眼 難以區分 8-bit 與更高色深的差異,但在專業影像處理與 HDR 環境下,較高色深可以提供更細膩的色彩變化與更大的動態範圍。
sticker
—————————sRGB—————————— 3️⃣sRGB(標準RGB) sRGB 是一種標準化的 RGB 色彩空間,以 D65(6504K)白點 為基準,主要用於數位顯示器、網頁和攝影領域,由紅(Red)、綠(Green)、藍(Blue)三種基色混合來表示顏色。 sRGB 具有特定的 gamma 曲線和色域,確保不同設備顯示的顏色一致。 RGB 色域 覆蓋約 35% CIE 1931 色彩空間 Gamma 值:接近 2.2,但實際上是 非線性 gamma 曲線(低亮度時 γ ≈ 1.0,高亮度時 γ ≈ 2.2)
megapx
✅ 全球標準:適用於所有顯示器、網頁、數位相機,確保顏色一致。 ✅ 色彩管理簡單:大多數軟體(如 Photoshop、瀏覽器)預設使用 sRGB,不易出錯。 ✅ 高相容性:適用於 Windows、macOS、Android、iOS 及網頁設計(HTML/CSS)。 ✅ 適合數位顯示:顏色在大多數螢幕上顯示準確,不需要額外色彩校正。 ❌ 色域較小:無法表現 Adobe RGB、DCI-P3、Rec. 2020 中更鮮豔的顏色,特別是綠色和藍色。 ❌ 不適合印刷:印刷通常使用 CMYK 或 Adobe RGB,sRGB 轉換到 CMYK 可能會失真。 ❌ 不適用於 HDR:HDR 需要更廣色域(如 Rec. 2020、DCI-P3),sRGB 無法完整呈現高動態範圍影像。
megapx
sticker
—————————Adobe RGB——————— 4️⃣Adobe RGB 色彩空間是一種由Adobe Systems於1998年開發的色彩空間。開發的目的是為了儘可能在CMYK彩色印刷中利用計算機顯示器等設備的RGB顏色模式上囊括更多的顏色。Adobe RGB色彩空間粗略包括了50%的Lab色彩空間中的可視色彩,主要在青綠色(cyan-green)色系上有所提升。 📌與sRGB相比,Adobe RGB 中 RGB 色彩分量與亮度並不是成線性關係。相反,伽馬值被假定為2.2,而不是像sRGB中那樣是接近線性關係的0伽馬值。
megapx
📌由於色域定義Adobe RGB 提供更鮮豔的綠色與青色,而 sRGB 的綠色區域較窄,紅色與藍色變化較小,但 Adobe RGB 仍略優於 sRGB。 ✅ 比 sRGB 擁有更廣的色域,適合專業攝影與印刷。 ✅ Gamma 值與 sRGB 相同(2.2),但顏色範圍更大。 ✅ 適合 CMYK 印刷,可以更準確地轉換為印刷用色彩。 ✅ 在支援 Adobe RGB 的螢幕上,顏色更飽和、更真實(特別是綠色)。 ❌ 一般顯示器不支援 Adobe RGB,如果顯示器僅支援 sRGB,Adobe RGB 影像會顯得黯淡或失真。 ❌ 網頁與社交媒體不支援 Adobe RGB,大部分平台會自動轉換成 sRGB,導致色彩不準確。 ❌ 需要專業顯示設備與色彩管理,否則顏色可能顯示不正確。 ❌ 非 HDR 標準,如果需要 HDR 顯示(如 DCI-P3、Rec. 2020),Adobe RGB 可能不適用。
megapx
📌sRGB vs Adobe RGB放在一起比較非常明顯
megapx
sticker
——————————HSV—————————— 5️⃣HSV(色相-飽和度-明度,Hue-Saturation-Value) 一種基於人眼感知的色彩模型,常用於圖像處理、設計軟體。 由三個參數組成: H(Hue, 色相):0°~360°,代表顏色,如紅色 0°、綠色 120°、藍色 240°。 S(Saturation, 飽和度):0~100%,表示顏色的純度,0% 為灰色,100% 最鮮豔。 V(Value, 明度):0~100%,表示顏色的亮度,0% 為黑色,100% 最亮。 這種模型比 RGB 更直觀,適合用來調整顏色。
megapx
HSV 與 RGB 轉換公式
megapx
✅HSV 模型與人眼的色彩感知相似,比 RGB 更適合顏色調整。 ✅易於調整顏色色相(H) 可獨立調整顏色類別(如紅色變藍色,而不影響亮度) ✅適合影像處理分離亮度與顏色信息,使影像調整更靈活 ✅在電腦視覺(Computer Vision) 中,比RGB 更適合目標檢測與顏色分類 ❌HSV 的 V(Value)只是最大 RGB 值,並未真正考慮人眼對亮度的感知 ❌在低飽和度時,H 值變得不穩定 ❌不適用於印刷(CMYK)
sticker
——————————CMYK————————— 6️⃣CMYK(青-洋紅-黃-黑,Cyan-Magenta-Yellow-Black) 一種減色模型(Subtractive Color Model),CMYK 是透過「吸收」光線來產生顏色主要用於印刷和紙張上的顏色再現。 由四個基色組成: C(Cyan, 青) M(Magenta, 洋紅) Y(Yellow, 黃) K(Key, 黑)(因為純 CMY 混合不易產生純黑,需額外加黑色墨水) 📌與 RGB 相反,CMYK 是基於顏色的吸收(CMY 混合出的黑色不夠深,帶有棕色或灰色。),當所有顏色混合時,理論上產生黑色。
megapx
MYK 色域比 RGB 小,因為印刷墨水的顏色範圍比光源發出的顏色窄且RGB → CMYK 轉換時,某些 RGB 顏色無法完全再現
megapx
RGB 與 CMYK 轉換
megapx
✅CMYK 是專門為印刷設計的,與墨水和紙張的物理特性相匹配。 ✅印刷需要色彩穩定性,而 CMYK 修圖能確保不同印刷機、紙張、批次的顏色一致。 ❌色域比 RGB 小,色彩較不鮮豔 ❌CMYK 轉換時,顏色可能失真 ❌CMYK 顏色模式無法在數位螢幕上準確顯示,所有顯示器都使用 RGB。
sticker
———————Lab(CIE Lab)——————— 7️⃣Lab(CIE Lab) 一種基於人類視覺感知的色彩模型,常用於印刷、顏色匹配和影像處理。 Lab 色彩空間與設備無關(device-independent),因此比 RGB 更適合進行顏色轉換。 由三個參數組成: L(Lightness, 亮度):0(黑)到 100(白)。 a:紅綠通道,正值為紅色,負值為綠色。 b:黃藍通道,正值為黃色,負值為藍色。 📌由於 Lab 模型能涵蓋人眼可見的所有顏色,因此經常用於色彩校正。LAB 並不像 RGB 那樣直接使用紅、綠、藍三個通道,而是根據人眼的色彩感知方式來定義顏色。
megapx
LAB 轉換公式XYZ → LAB
megapx
✅ 設備無關(Device-Independent),適用於不同的顯示器與印刷機。 ✅ Lab色彩模型可以描述人眼可感知的所有顏色,比RGB和CMYK等色彩模型所涵蓋的範圍更廣。這使得它在色彩管理和轉換方面非常有用 ✅ 可準確進行色彩轉換(如 RGB ↔ CMYK 轉換時減少色偏)。 ✅ 在色彩校正與配色過程中,Lab色彩模型提供了標準化的參考,使得不同裝置之間的色彩轉換更加準確與一致 ✅ Lab顏色模型通常用於計算色差(ΔE),量化兩種顏色之間的差異。使用 Lab 顏色模型可以更精確地測量和比較顏色差異。 ❌ 不直觀,不像 RGB 或 HSV 那樣直覺易懂。 ❌ 計算較複雜,需要透過 XYZ 色彩空間進行轉換。 ❌ 一般顯示器無法直接使用 LAB,通常需轉換為 RGB 顯示。 ❌ 在低光照條件下,LAB 的 L* 值可能不準確。
sticker
—————————DCI-P3————————— 8️⃣DCI-P3 DCI-P3(Digital Cinema Initiatives – P3) 是由 美國數位電影聯盟(DCI, Digital Cinema Initiatives) 制定的色彩標準,最初用於 數位電影與影院放映,後來被廣泛應用於 電視、顯示器、HDR 影像與蘋果設備(Apple devices)。它比 sRGB 擁有更廣的色域,特別是在 紅色與綠色區域更加飽和鮮豔,因此適合電影製作、HDR 影像、高端顯示器等應用。 📌標準白點(White Point):D63(6300K),比 sRGB / Adobe RGB 的 D65(6504K) 略暖色一點。
megapx
📌DCI-P3 的紅色比 sRGB / Adobe RGB 更濃、更飽和。 📌綠色比 sRGB 更廣,但略小於 Adobe RGB。 📌藍色與 sRGB / Adobe RGB 相同,因此主要影響是紅綠區域。
megapx
放在一起比較可以發現Adobe RGB的綠色更鮮豔
megapx
✅ 比 sRGB 色域更廣,顏色更鮮豔,適合電影與 HDR 影像 ✅ 蘋果設備支援,確保 Apple 生態系的色彩一致性 ✅ 4K 電視、HDR 顯示器、專業影像工作者的標準 ✅ 對比 sRGB,紅色與綠色表現更出色 ❌ 不適用於印刷(印刷需使用 Adobe RGB 或 CMYK) ❌ 顯示器必須支援,否則無法完整呈現 DCI-P3 的色彩 ❌ 部分 Windows 應用程式仍以 sRGB 為主,可能無法正確顯示 DCI-P3 顏色
sticker
—————————螢幕介紹————————— 9️⃣螢幕介紹(以下三款都是5K解析度) 📌Delta E(ΔE):是用來衡量兩個顏色之間差異的數值,數值越小,代表顏色越接近,數值越大,則代表色差越明顯。 ΔE ≤ 1.0幾乎無色差人眼難以察覺 ΔE 1.0 - 2.0極微小色差只有專業人士能察覺 ΔE 2.0 - 5.0可見但可接受一般人能感覺到,但不影響觀感 ΔE 5.0 - 10.0明顯色差一般人可明顯察覺,可能影響品質 ΔE > 10.0嚴重色差顏色完全不匹配 Apple Studio Display $45,900 原生支援P3廣色域(約99% DCI-P3覆蓋) 📌出廠校正,Delta E <2
megapx
Samsung ViewFinity S9 5K $28,350 99% DCI-P3色域  📌Delta E <2
megapx
ProArt Display 5K PA27JCV NT$23,900 100% sRGB、99% AdobeRGB、98% DCI-P3 📌Delta E <2
megapx
—————————程式介紹————————— 🔟ICC(International Color Consortium,國際色彩協會)檔案是一種用來描述顏色管理資訊的標準化檔案格式,通常副檔名為 .icc 或 .icm(在 Windows 上常見)。這些檔案定義了設備的色彩特性,確保不同設備(如顯示器、印表機、掃描器等)之間的顏色顯示一致。 下面網址可以下載icc檔案
megapx
📌當你直接將 HSV、CMYK、Lab 或 ICC 轉換後的影像陣列「原樣」顯示在螢幕上時,看起來就會產生「色彩怪異」的結果 程式需要整定ADOBE_RGB_ICC、DCI_P3_ICC、image_path三個檔案位置及可執行 記得安裝套件pip install opencv-python numpy pillow matplotlib colorspacious import cv2, numpy as np, matplotlib.pyplot as plt img=cv2.imread(r"C:\Users\618\Desktop\11.jpg"); assert img is not None, "找不到圖片" lab=cv2.cvtColor(img,cv2.COLOR_BGR2LAB); hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) cmy=255-cv2.cvtColor(img,cv2.COLOR_BGR2RGB) for i,(d,t) in enumerate(zip([lab,hsv,cmy],["Lab","HSV","CMY"])): plt.subplot(1,3,i+1), plt.imshow(d), plt.title(t), plt.axis("off") plt.tight_layout(); plt.show()
megapx
📌HSV、Lab、CMYK:需要「回到 RGB」才能正常顯示,所以我多此一舉又轉回RGB給大家看 import cv2, numpy as np, matplotlib.pyplot as plt from PIL import Image, ImageCms ADOBE = r"C:\Users\618\Desktop\AdobeICCProfilesCS4Win_end-user\Adobe ICC Profiles (end-user)\RGB\AdobeRGB1998.icc" DCI_P3 = r"C:\Users\618\Desktop\AdobeICCProfilesCS4Win_end-user\Adobe ICC Profiles (end-user)\RGB\DCI-P3-DCI.icc" img=cv2.imread(r"C:\Users\618\Desktop\11.jpg"); assert img is not None, "Image not found" bgr2rgb=lambda x: cv2.cvtColor(x,cv2.COLOR_BGR2RGB) to_sRGB = bgr2rgb to_AdobeRGB = lambda x: np.array(ImageCms.profileToProfile(Image.fromarray(bgr2rgb(x)),ImageCms.createProfile("sRGB"),ImageCms.getOpenProfile(ADOBE),outputMode="RGB")) to_DCI_P3 = lambda x: np.array(ImageCms.profileToProfile(Image.fromarray(bgr2rgb(x)),ImageCms.createProfile("sRGB"),ImageCms.getOpenProfile(DCI_P3),outputMode="RGB")) to_HSV = lambda x: cv2.cvtColor(cv2.cvtColor(x,cv2.COLOR_BGR2HSV),cv2.COLOR_HSV2BGR)  # round-trip to_Lab = lambda x: cv2.cvtColor(cv2.cvtColor(x,cv2.COLOR_BGR2LAB),cv2.COLOR_Lab2BGR)   # round-trip to_CMYK = lambda x: np.array(Image.fromarray(bgr2rgb(x)).convert("CMYK").convert("RGB")) imgs = [to_sRGB(img), to_AdobeRGB(img), bgr2rgb(to_HSV(img)), bgr2rgb(to_Lab(img)), to_CMYK(img), to_DCI_P3(img)] titles = ["sRGB", "Adobe RGB", "HSV->RGB", "Lab->RGB", "CMYK->RGB", "DCI-P3"] for i,(im,t) in enumerate(zip(imgs,titles)): plt.subplot(2,3,i+1), plt.imshow(im), plt.title(t), plt.axis("off") plt.tight_layout(), plt.show() 程式執行結果根本是大家來找碴
megapx
——————————文末—————————— 感謝看完的大家,真心希望有幫助到喜歡程式跟拍照的大家☺️☺️ 別忘了追蹤我的卡稱或是IG,我是烏龜我們下次見!
sticker
參考文獻
愛心
102
5
全部留言