黑白多幀相機設置白平衡原理

 

白平衡,字面意思即白色的平衡。白平衡是描述顯示器中紅、綠、藍三基色混合生成後白色(無彩色)準確度的一項指標。

 

如果用白平衡準確的彩色相機拍攝白紙或者灰板(不能過曝),生成的圖像不應該存在偏色,而應該是純粹的灰色。灰色RGB圖像的R、G、B通道圖是一模一樣的,如下:

 

   色:255, 255, 255

中性灰:128, 128, 128

   色:0, 0, 0

 

彩色相機的白平衡設置很簡單,在相機端就可以一鍵設置。

 

那麼黑白多幀相機如何設置白平衡呢?有些人可能大喫一驚:黑白相機也有白平衡??

 

以黑白三幀相機爲例,它是設計了一種特殊的三色光源,依次曝光發出紅光、綠光、藍光,曝光的同時,黑白相機連續拍攝3次。

 

這三張“灰色”的黑白圖通過圖像算法合成,就可以合成一張RGB彩色圖像。如果黑白三幀相機用這種方式拍攝灰板,那麼最終合成的RGB“彩色圖像”看起來應該也是灰色的,而不應該存在偏色。

 

灰色的RGB圖(包括白色)是由紅、藍、綠三通道圖以等比例組成的,所以對灰色物體拍照時,紅光、綠光、藍光單獨拍攝得到的黑白圖的灰度值應該完全一樣,這就是黑白多幀相機白平衡的原理

 

以紅通道圖爲例,紅通道圖的灰度值與什麼有關呢?

光圈大小、相機增益、伽馬值、曝光時間、光源亮度

 

一般來說,拍攝三幀圖像時,光圈大小、相機增益、伽馬值都是相同的。從控制變量的角度來看,還需要鎖定一個參數——所以一般把光源控制器的紅光、綠光、藍光的光源亮度檔位都設置成相同的。

 

插一句:公司委託供應商定製的光源控制器,在光源亮度檔位相同時,紅光、綠光、藍光拍攝灰板生成的圖像的灰度值基本相同,這是個不錯的特性。

 

那麼黑白三幀相機設置白平衡的的關鍵就變成了:鎖定紅、綠、藍光的光源亮度時,如何計算出紅綠藍光對應的曝光時間,使得生成的三張黑白圖的灰度值相等。

 

假設三張黑白圖的灰度值=20時,紅、綠、藍光的曝光時間分別應該是多少呢?

假設三張黑白圖的灰度值=60時,紅、綠、藍光的曝光時間分別應該是多少呢?

假設三張黑白圖的灰度值=200時,紅、綠、藍光的曝光時間分別應該是多少呢?

 

不斷改變曝光時間,生成的黑白圖的灰度值也會不斷變化,假設它們之間存在線性關係:Y = KX + B,如下圖所示。(事實上,確實存在這種近似的線性關係)

 

圖中X軸是曝光時間,Y軸是圖像灰度值。紅綠藍三根線分別代表紅光、綠光、藍光的曝光時間與灰度值的關係。

 

具體操作:可以單獨用紅光先曝光20次,收集20個圖像的灰度值,每次曝光時間逐漸增加。然後用20個灰度結果值擬合出紅色這條線段。由於在太暗和太亮的情況下,點的直線擬合性不好,所以上圖中上下各有一條橫線,代表灰度值在上下線範圍以內的線段纔是有效的。

 

對藍光、綠光進行同樣的操作,這樣就有了紅綠藍三根線。

 

這三根線可以用方程表示:(Y = KX + B)

Y紅=K紅* X紅 + B紅     (1)

Y綠=K綠* X綠 + B綠     (2)

Y藍=K藍* X藍 + B藍     (3)

 

Y代表灰度值,X代表曝光時間,K和B是直線方程的係數。

 

在校正過程中,對着白紙或者灰板。紅綠藍光分別曝光20次,通過最小二乘法就能擬合出直線,得到係數K和B的值。

 

建議是使用色卡中的灰色塊,用白色塊很容易圖像就過曝了。(或者說更推薦使用灰板,而不是白紙)

 

做完校正後,六個係數K、B可以保存在一個文件中。以後軟件在設置曝光時間時就先讀入這個文件,只要設置一種光源的曝光時間,另兩種光源的曝光時間就能自動計算出來,且保證得到的圖像色彩逼真。(因爲當合成圖的白平衡準確時,在不同的曝光時間組合下,Y紅=Y綠=Y藍始終成立。)

 

值得注意的是,如果改變了光圈大小、相機增益、伽馬值、光源亮度中的任意一個,那麼白平衡設置就需要重新做。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章