一種普朗克曲線的適應性調整算法的製作方法
2023-05-23 08:44:11
本發明涉及一種數字圖像自動白平衡算法,更具體地,涉及一種普朗克曲線的適應性調整算法。
背景技術:
在不同的光線照射下,當我們直接用肉眼察看這個世界時,對相同顏色的感覺基本保持恆定不變的,比如在旭日初升的早晨,我們看一個白色的物體時,感覺到它是白色的;而在夜晚,我們處於昏暗的燈光下看白色物體時,感到它仍然是白的。又比如我們在鎢絲燈下呆了很長一段時間,鎢絲燈下的白色感覺到依然是白色的,並不會覺得白紙偏紅。這是由於人類在不斷的生長過程中,人的大腦已經適應了不同光線下的物體的顏色。正是由於這種獨特的適應性,人的大腦可以偵測並且更正不同光照下的色彩變更,因此不論在陽光、室內、陰影、或螢光下,人們所看到的白色物體顏色仍舊為白色。但是,圖像傳感器沒有這種適應性,由於圖像傳感器在不同的光照條件下輸出的不平衡性,導致傳感器輸出會出現色彩失真,造成圖像偏紅,或者偏藍的不良後果。為了使傳感器的輸出與人的視覺標準更加貼近,就必須通過仿造人類大腦的行為,並能根據光線的變化來調整色彩,來達到令人滿意的色彩。自動白平衡就是針對不同色溫條件下,通過信息統計,算法計算自動調整圖像顏色,消除偏色,使拍攝出來的圖像更接近人眼的視覺習慣。
現有基於普朗克曲線的自動白平衡算法在中色溫(5000K)左右有很好的調整效果, 能夠使圖的像色彩還原準確,但是當色溫過高(高於7500K)和過低(低於3000K)時,由於普朗克曲線校準時採樣環境的限制,容易使其高色溫與低色溫時存在偏差,從而出現偏藍和偏紅的情況,造成顏色的失真。一般的解決辦法僅僅是進行色溫的限制,將色溫限制在中色溫範圍內,雖然能夠減輕,但是沒有改變普朗克曲線偏差導致的問題的根源。
技術實現要素:
本發明旨在提供一種普朗克曲線的適應性調整算法,解決現有的基於普朗克曲線的自動白平衡算法在高色溫和低色溫下圖像容易出現偏藍和偏紅等顏色失真的問題。
為了實現上述目的,本發明提供了一種普朗克曲線的適應性調整算法,包含如下步驟:
步驟一:採樣測定的普朗克曲線,採樣點數為N,高色溫部分以藍色增益bg為自變量,採樣N/2個點;低色溫部分以紅色增益rg為自變量,採樣N/2個點;其結果保存至原始普朗克曲線表PLK[N];
步驟二:以線性插值的方法,建立普朗克曲線重映射表PLKMapping[N/L];其中L為插值距離,N/L為普朗克映射表的參數個數;其初始化參數為原始普朗克曲線以距離L進行採樣保存後的值,;
步驟三:根據實際場景對應的顏色統計信息,在Cr-Cb坐標系中與原始普朗克曲線高色溫部分和低色溫部分的偏離情況,逐個設定PLKMapping[N/L]中每個參數;在x-y坐標系中選定一條參考曲線;
對於原始普朗克曲線PLK[0]~PLK[N/2-1]中的每個值,按照PLKMapping[0]~PLKMapping[N/2L-1]中的設定參數插值新普朗克曲線PLKN[0]~PLKN[N/2-1]中的rg,保留PLKN[N]中與參考曲線最接近的點;
對於原始普朗克曲線PLK[N/2]~PLK[N-1]中的每個值按照PLKMapping[N/2L]~PLKMapping[N/L-1]中的設定參數插值新普朗克曲線PLKN[N/2]~PLKN[N-1]中的bg,保留PLKN[N]中與參考曲線最接近的點;
步驟四:獲取PLKN[N]中rg與bg與參考曲線最接近的點,將PLKN[N]中兩端高低色溫重疊的部分全部置為rg=rb;
完成上述步驟新生成的PLKN[N],即為調整後的普朗克曲線表。
所述參考曲線對應 x-y坐標系中的x=y曲線。
自動白平衡以重新映射後的PLKN[N]進行相關的計算,實現高色溫部分和低色溫部分的適應性調整。
本發明的有益效果是,通過將普朗克曲線根據需要進行重新映射,使其形狀能夠擺脫色溫採樣點的限制,從而在高色溫和低色溫下,繪製出自己想要的,更符合實際情況的普朗克曲線,為後續的自動白平衡處理提供更精確的基準,有效提升自動白平衡在高色溫和低色溫場景的適應性,從根源上解決其偏色失真的問題。
附圖說明
圖1為本發明所述算法的實現流程圖。
具體實施方式
下面結合附圖對本發明作進一步描述:
如圖1所示,一種普朗克曲線的適應性調整算法,包含如下步驟:
步驟一:採樣測定的普朗克曲線,採樣點數為N,高色溫部分以藍色增益bg為自變量,採樣N/2個點;低色溫部分以紅色增益rg為自變量,採樣N/2個點;其結果保存至原始普朗克曲線表PLK[N];
步驟二:以線性插值的方法,建立普朗克曲線重映射表PLKMapping[N/L];其中L為插值距離,N/L為普朗克映射表的參數個數;其初始化參數為原始普朗克曲線以距離L進行採樣保存後的值,;
步驟三:根據實際場景對應的顏色統計信息,在Cr-Cb坐標系中與原始普朗克曲線高色溫部分和低色溫部分的偏離情況,逐個設定PLKMapping[N/L]中每個參數;在x-y坐標系中選定一條參考曲線;
對於原始普朗克曲線PLK[0]~PLK[N/2-1]中的每個值,按照PLKMapping[0]~PLKMapping[N/2L-1]中的設定參數插值新普朗克曲線PLKN[0]~PLKN[N/2-1]中的rg,保留PLKN[N]中與參考曲線最接近的點;
對於原始普朗克曲線PLK[N/2]~PLK[N-1]中的每個值按照PLKMapping[N/2L]~PLKMapping[N/L-1]中的設定參數插值新普朗克曲線PLKN[N/2]~PLKN[N-1]中的bg,保留PLKN[N]中與參考曲線最接近的點;
步驟四:獲取PLKN[N]中rg與bg與參考曲線最接近的點,將PLKN[N]中兩端高低色溫重疊的部分全部置為rg=rb;
完成上述步驟新生成的PLKN[N],即為調整後的普朗克曲線表。
所述參考曲線對應 x-y坐標系中的x=y曲線。
自動白平衡以重新映射後的PLKN[N]進行相關的計算,實現高色溫部分和低色溫部分的適應性調整。