close

      一般使用數位相機拍照,幾乎都使用jpg圖檔格式。但是如果有人要將jpg圖檔轉換成真正的光的強度或顏色,進行分析,則很容易出現一些問題。這陣子,隨著手機光譜儀的擴展,許多使用者想要分析光譜的強度隨波長的分布,出現一些問題,最常見的是綠光部分明顯降低,與經驗不符。

     這牽扯到數位影像如何轉換到人眼熟悉的影像。原則上,數位相機的電子感光晶片(CCD或CMOS)對光的反應是線性的,也就是說光的強度增加2倍、3倍,其數值也增加2倍、3倍。但是人眼將光的反應並不是線性的,而是黃光區最強。數位彩色影像模擬人眼,採用三原色R(紅)、G(綠)、B(藍)組合成所有顏色,但是數位影像的光強是線性的,人眼不是。所以在將數位彩色影像轉換成彩色影像時,進行了兩種轉換,一是將光強值依據人眼反應方式轉換,二是將人眼對於G、R、B的反應取其權重處理。人眼對黃光比較敏感,黃光接近綠色(G),所以感光晶片的晶格(pixel,或稱為畫素)對RGB的排列並不是平均的,而是奇數排為綠、紅、綠、紅相間,偶數排為藍、綠、藍、綠相間,所以每一感光晶格都只有R、G、B中的一種光強值,整片感光晶格紀錄的影像有1/2是G、1/4是R、1/4是B。而每幅影像都必須有R、G、B三種光強值才能獲得彩色影像,所以每家廠商各有自己的演算法,依據周圍的數值內插,獲得每晶格的R、G、B光強數值,其中一種是真實的紀錄、另外兩種則是依據演算法內差而得。然後再依據人眼對光強的反應模式,轉換成人眼所見的光強與色彩。

     簡單的說,整片電子感光晶片記錄到的色光數值,有1/2G3/4R3/4B是由演算而來。然後再依據人眼對RGB的反應,轉換成人眼所見的光強與顏色。最後再轉換成8位元的jpg格式而被儲存圖檔。許多數位相機感光晶片為12位元、14位元或16位元,原比8位元紀錄更多的光強訊息,轉換成8位元的jpg檔,需要將原始數值壓縮為8位元,許多資訊被破壞或消失。將高位元圖檔壓縮成jpg圖檔,屬於破壞式壓縮,無法還原成原始圖檔。

        每家廠牌的數位相機,尤其是數位單眼相機,有其原生檔(raw)名。例如Canon數位單眼相機感光晶片為14位元,拍攝一幅影像大小約為20M,副檔名為.cr2,壓縮成8位元的jpg檔後,大小成為3M左右。Nikon單眼相機的原生檔格為.nefSony單眼相機的原生檔格式為.arw。

       想要研究彩色光譜的光強,最好使用數位相機本身的原生檔,以比例1:1轉換成64位元tiff檔或fits檔,再進行光強處理,比較能夠獲得真實的光強。

最後,感光晶片對於各種色光(波長)的反應程度也不同。廠商規則手冊中列有感光晶片對波長反應分布圖,稱為特徵曲線。可以依據使特徵曲線,將光譜中個波長的觀測強度,推算至真正的光強。

當然在進行影像處理過程中,扣除暗電流(或稱雜訊)、平場修正是標準程序。如果是彩色影像,還須進行白平衡校準,還原成真實的色彩。

總之,拍攝物體或光源的影像或光譜很容易,但是要獲得真實的光強與顏色,事前或事後拍攝暗電場影像、平場影像與白平衡影像,才能將影像還原成真實影像,才能獲得真正的光強與顏色。