dida 數位暗房- 手札部落格
http://www.photosharp.com.tw//Blog.aspx?MId=1451      
文章內容
上一篇   下一篇
GAMMA在影像處理上的用途   (點閱10680088)
器材分類:Nikon 尼康 / 應用軟體 / 其它    日期:2008/6/8

GAMMA在影像處理上的用途

(本文試圖傳達的是數位暗房概念,不是一成不變的秘方。)

 

前言

正式討論之前,先做兩點說明。

1.      關於如何取得或製作各種不同 gamma 值的色彩空間,請參考本文最後的附錄。

2.      關於 gamma 值的意義,幾乎完全沒有提到理論部分,因為多數人只關心實務運用(如果我錯了,請讓我知道)。

 

Gamma 的意義

本文的主要宗旨,是探討如何利用 gamma 提整影像的亮度。所以,先談兩個相關而不同的概念:

1.          曝光補償( Exposure Compensation ):這是調整影像的白點。對於 raw 檔來說,曝光補償 raw 檔轉換軟體內透過滑桿調整。至於一般影像,同常則採用就曲線來設定。

2.          亮度( Brightness : 是指調整影像的亮度(通常是指白點與黑點不變動的情況)。至於究竟如何調整亮度,並沒有明確定義。譬如說,在 PS 裡面,我們可以調整 Level 輸出值的中間滑桿(中間調)、調整 Image > Adjustment Brightness / Contrast ,也可以透過曲線做任意調整(不影響白點與黑點為前提)。

前述兩種調整,在 PS 裡面,基本上都透過曲線進行調整,會影響畫素本身。至於 gamma ,其意義不同於前述兩種調整, gamma代表影像處理軟體對於畫素亮度的解釋 gamma 值一旦變動,則電腦軟體對於既定畫素之亮度的解釋標準也隨之改變,但畫素本身並沒有變動。原則上, gamma值愈小,電腦軟體對於既定畫素的解釋愈亮;反之,gamma值愈大,電腦軟體對於既定畫素的解釋愈暗。 換言之,對於某固定畫素,其 RGB 讀數完全不變,但設定不同的 gamma 值,就會改變該畫素呈現的亮度。可是, Lab 空間的 L 讀數是反映實際顯示的亮度,換言之,只要肉眼看到的亮度不同, L 讀數就不同。

重複一次,調整曝光補償或亮度(包括: curve level …等),畫素本身會變動( RGB 讀數會變動),但電腦解釋亮度的標準不變。調整 gamma ,畫素本身不變( RGB 讀數不變),但軟體解釋亮度的標準發生變動。

 

Gamma 的調整

根據我瞭解,在 PS 內,有三種方法可以調整 gamma 值,分別討論如下。

第一,也是最標準的方式,稱為指派錯誤描述檔( assign false profiles )。這是透過 Edit > Assign Profile ,把影像指派到各種 gamma 值的色彩空間。對於常用的 RGB 色彩空間,我們可以製作不同 gamma 值的空間(請參考『附錄』)。這些色彩空間的 gamma 值可以設定為 0.75 3.0

舉例來說,我們把 AdobeRGB_2.2 的影像指派到 AdobeRGB_1.4 的空間。在 PS 裡面, Edit > Assign Profile ,則會出現圖 001 的對話窗。請參考藍色箭頭標示,該處顯示我們的工作空間是 AdobeRGB_2.2 ,滑鼠點選紅色箭頭標示處,然後點選綠色箭頭位置,由下拉表格挑選我們想要的 AdobeRGB_1.4 。然後, OK

 

001

 

請注意,指派錯誤描述檔,影像會變亮或變暗(所以, L 讀數會變動),但 RGB 讀數不變( RGB 個別通道的灰階影像也不會變動)。

第二,透過 Image > Adjustments > Exposure… ,如此會出現圖 002 的對話窗,調整 Gamma Correction 滑桿(其中的 Exposure & Offset 分別用來設定白點與黑點,但一般人不會在這裡設定)。對於 gamma=2.2 的影像,如果 Gamma Correction 設定為 1.57 ,相當於指派到 gamma 1.4 的空間;如果 Gamma Correction 設定為 2.22 ,相當於指派到 gamma 1.0 的線性空間。

 

002

 

請注意,如果我們在 gamma 2.2 空間的影像,透過這種方法把 Gamma Correction 設定為 1.57 ,這等於是把影像指派到 gamma 1.4 的色彩空間( RGB 讀數不變), 然後再轉換回gamma 2.2的色彩空間(RGB讀數會變) 。這種情況下,影像會變亮,而且 RGB 讀數會變大( RGB 個別通道的灰階影像會變亮)。

第三,透過 Image > Mode > 32 Bit/Channel OK ,然後再 Image > Mode > 16 (或 8 Bit/Channel OK ,則會出現圖 003 對話窗,然後調整 Gamma 。對於 gamma=2.2 的影像,如果 Gamma 設定為 0.64 ,相當於指派到 gamma 1.4 的空間;如果 Gamma 設定為 0.46 ,相當於指派到 gamma 1.0 的線性空間。

 

003

 

我們知道,影像如果太暗的話,通常色彩也不夠鮮豔。所以,透過 gamma 值調亮影像,色彩看起來會不夠飽和、顯得褪色。但目前這種方法非常「善體人意」,當影像調亮時,會自動增加色彩飽和程度。對於初學者,這或許很不錯;但對於一般玩家來說,這種自動彌補顏色的做法會造成很大的困擾。(請注意, ACR Fill Light 也有非常類似的效果。)

 

Gamma 調整的功能

當我們調降 gamma 值而讓影像變亮,最明顯的作用是發生在暗部,亮部受到的影響很小。這是 gamma 值調整在影像處理上具備的最大特點。請參考圖 004 ,我們分別透過曲線與 gamma 值調整,把中間調 L=54 調升到 L 76 。請比較這兩種調整方法( Brightness vs. Gamma )對於暗部的影響。至於亮部的影響,就目前這個例子而言,兩種方法差不多。

 

004

 

 

根據 gamma 的這項特性,曝光不足的影像透過 gamma 調整亮度,雜訊威脅相對較輕。反差大的影像,調降 gamma 值可以顯著提升暗部亮度,但亮部不至於爆掉。事實上,調降 gamma 值甚至可以被納入一般工作流程內。讓我們舉幾個實際的例子來說明。

 

實例

此處準備考慮 3 個例子。第一個屬於高度反差的影像(圖 005 ),可以凸顯 gamma 調整的特質。第 2 個例子則屬於一般影像(圖 006 ),藉以觀察 gamma 調整對於一般影像的效果。第 3 個例子則介於前述兩個例子之間(圖 007 )。我想藉由這 3 個例子,顯示 gamma 調整的一般性功能。

 

005    此處介紹的處理方法是由 Dan Margulis 提出,所以第一個例子也採用他的影像。  

 

 

005a    把影像指派為 gamma =1.4 。前景明顯變亮,但天空亮部沒有受到威脅。影像明顯偏亮、褪色。圖 005b 與圖 005c 準備處理這部分問題。

 

 

005b    把影像轉換到 Lab 空間。複製圖層( Ctrl+J ),圖層混合模式設定為 Multiply 。將這個圖層在複製一次。將兩個 Multiply 的圖層合併,圖層混合模式仍然是 Multiply 。結果:蠻可怕的?

 

 

005c    Multiply 圖層裝上空白遮罩。針對這個空白遮罩,透過 Image > Apply Image ,把合併影像的 Lightness 複製到空白遮罩。針對遮罩上的灰階影像, Filter > Blur > Gaussian Blur radius 大約設定為 50 (一般為 40 80 )。針對遮罩, Ctrl+M 叫出曲線,調整遮罩至適當程度。這大概就是 Dan Margulis 對於 gamma 調整建議採用的方法。當然,如果有興趣的話,可以繼續提升色彩,譬如:圖 005d

 

005d

 

006    這個影像並沒有調整 gamma 的必要,但我們想看看 gamma 調整對於正常影像的效果。

 

 

006a    影像指派到 gamma=1.4 的空間。如同先前的情況一樣,影像變亮、褪色。

 

 

006b    同樣地,接著把影像轉換到 Lab 空間,做類似圖 005b&005c 的調整。

 

 

006c    提升色彩,調整曲線。如果覺得圖 006c 太硬,可以把圖 006c 疊到圖 006b ,然後調整透明度,譬如圖006d

 

 

006d

 

 

007    關於gamma調整,這個影像介於前兩者之間。讓我們看看效果如何。

 

 

007a   影像指派到gamma=1.4的空間。

 

007b   同樣地,接著把影像轉換到Lab空間,做類似圖005b&005c的調整。

 

 

007c   提升色彩,調整曲線。如果覺得圖007c太濃膩,可以把圖007c疊到圖007b,然後調整透明度,譬如圖007d

 

 

007d

 

補充:Gamma空間轉換

透過Edit > Convert to的指令,把影像由gamma 2.2空間轉換到gamma較小的空間,影像亮度不變。因為軟體把任何既定畫素解釋得更亮,為了維持影像亮度不變,RGB讀數必須變得更小(通道面版上的RGB個別灰階影像變得更暗)。同理,影像由gamma 2.2空間轉換到gamma較大的空間,影像亮度不變。因為軟體把任何既定畫素解釋得更暗,為了維持影像亮度不變,RGB讀數必須變得更大(通道面版上的RGB個別灰階影像變得更亮)。

結論:大gamma轉換到小gammaR-G-B個別通道灰階影像變暗;反之,小gamma轉換到大gammaR-G-B個別通道灰階影像變亮。透過通道混合(channels blending),這種性質可以運用來調整色偏。

譬如說,圖008顯得太綠、太黃。太綠意味著G通道太亮,太黃意味著B通道太暗。所以,我們要透過gamma轉換,找到G通道比較暗的小gamma空間,以及B通道比較亮的大gamma空間。所以,我們把圖008複製兩份,一份轉換到gamma 1.4空間(稱為DG),一份轉換到gamma 3.0空間(稱為LB)。

回頭考慮圖008,滑鼠點太綠的G通道,Image > Apply Image,把DGG通道(比較暗)apply到圖008G通道,opacity = 30。同樣地,滑鼠點圖008太黃的B通道,Image > Apply Image,把LBB通道(比較亮)apply到圖008B通道,opacity = 15。結果顯示為圖008a

 

008

 

008a

 

 

下列網址可以下載不同gamma值的常用色彩空間。解壓縮之後,將檔案存在C:\WINDOWS\system32\spool\drivers\color

 

http://www.pochtar.com/PowerOfGamma.zip

 

可是,下載檔案只包含幾個常用色彩空間,如果採用特殊色彩空間,就需要自行製造各種gamma值的色彩空間。舉例來說,如果我們的PS編輯空間為Bruce RGB,我要製造gamma = 1.4Bruce RGB。首先,在PS裡面,Edit > Color Setting。參考圖A,在Working SpaceRGB裡面選擇Bruce RGB(紅色箭頭),然後滑鼠點綠色箭頭處,在下拉表中選Custom RGB(藍色箭頭),滑鼠點OK

 

A

 

   畫面跳出圖BGamma原本顯示2.2(因為Bruce RGBgamma2.2的空間),但可以改成0.753.0。此處,我們填入gamma = 1.40,並且把名稱取為Bruce RGB_140OK

 

B

 

 

這個時候,會跳出圖CRGB位置顯示Bruce RGB_140,滑鼠點綠色箭頭位置,選擇Save RGB(藍色箭頭)。然後存檔,如此就有了Gamma 1.40Bruce RGB。其他依此類推。

 

C

 


內部引用此文章 》 外部引用網址: 由於外部引用的廣告太多,暫時關閉外部引用的功能 !! 上一篇   下一篇
回應列表 ( 9 )
lcn 留言於2008/6/8 下午 09:40:53  
謝謝分享實用的資訊,感恩ㄜ!

2020 留言於2008/6/9 上午 03:39:12  
感謝分享!

柏霖 留言於2008/6/18 下午 05:28:27  
影像軟體好可怕
對軟體白癡的我來說
好生羨慕

jeans 留言於2008/6/19 上午 01:10:13  
好文章...改gamma值方式真的雜訊比較弱嗎?

stick77tt 留言於2008/6/26 下午 02:25:27  
didadida大大讚阿!!市面上的書都沒這麼神囉!!

nansong 留言於2008/7/6 下午 03:33:23  
感謝分享!

herocervantes 留言於2008/7/12 上午 08:58:50  
請問Lab 空間是指什麼??

一小黑一 留言於2009/1/12 下午 07:17:36  
好文章 多瞭解了一樣 感溫ㄚ

練習曲 留言於2016/9/6 下午 11:51:40  
   謝謝啦!寫這樣的文章。                            

欲回應請先 登入

引用列表 ( 0 ) 為避免不當廣告,新的引用預設為隱藏,作者本人開啟後,其它網友才能看見。
  此文章未被引用

印象工場 攝影家手札 版權所有 © 2008 Photosharp Taiwan Inc. All Rights Reserved