本發明涉及數字圖像處理,具體涉及一種基于fpga的cmos圖像傳感器曝光增益方法及系統。
背景技術:
1、曝光是指進入相機并照射到圖像傳感器上的光量,一般通過相機的快門來調節,是決定相機拍攝圖像亮暗的重要指標。如果過多的光線被照射到傳感器上,會造成“過曝”導致圖像太亮,如果沒有足夠的光線照射到傳感器上,會造成“欠曝”而導致圖像太暗。
2、在數字圖像處理領域,自動曝光一直是一個關鍵技術,并且隨著機器視覺的發展,對于圖像質量的要求也逐漸提升。自動曝光可以根據外界光線的強弱自動調節曝光量,從而避免曝光過度或者不足,好的自動曝光算法不僅提高了相機的成像效果,同時在調節過程中也不會出現圖像閃爍的嚴重問題。
3、受限于自動曝光算法的收斂速度以及環境光過強或較弱,單一的通過調節圖像傳感器的曝光時間已經不能實現極端場景下良好的成像效果,可能會出現環境光較弱時,曝光時間即使增大到飽和狀態,圖像仍處于“欠曝”狀態,從而導致成像偏暗。此外,傳統的自動曝光算法采用恒定步長對曝光時間進行調節的局限性太大,不能適應多場景的自動曝光要求,部分算法采用了復雜的大模型來預測曝光參數則消耗了大量fpga資源。
技術實現思路
1、本發明的目的在于針對上述現有技術中的問題,提供一種基于fpga的cmos圖像傳感器曝光增益方法及系統,利用fpga對cmos圖像傳感器的曝光時間和增益值進行自適應調節,簡單高效,使自動曝光能夠適應強光照與低照度,以及避免調節過程中出現圖像閃爍。
2、為了實現上述目的,本發明有如下的技術方案:
3、第一方面,提供一種基于fpga的cmos圖像傳感器曝光增益方法,包括:
4、通過fpga采集一幀原始圖像數據,計算當前幀圖像的平均灰度值;
5、將當前幀圖像的平均灰度值與設定的目標灰度閾值范圍進行比較,根據比較結果,判定當前場景是否需要調節曝光參數或增益參數;
6、當需要調節曝光參數或增益參數時,先判斷當前增益參數是否為初始值,根據判斷結果選擇后續調節曝光參數還是增益參數;
7、依據設定的目標灰度閾值范圍,對曝光參數或增益參數進行自適應調節,使當前幀圖像的平均灰度值達到設定的目標灰度閾值范圍內,停止調節并輸出當前曝光參數與增益參數。
8、作為一種優選的方案,所述通過fpga采集一幀原始圖像數據,計算當前幀圖像的平均灰度值包括:
9、按下式計算當前幀圖像所有像素的灰度值總和:
10、
11、按下式統計一幀圖像的像素總數:
12、
13、通過當前幀圖像所有像素的灰度值總和與一幀圖像的像素總數,按下式計算當前幀圖像的平均灰度值:
14、
15、式中,表示一幀圖像的某一像素,表示一幀圖像的像素總數,表示一幀圖像的行數,表示一行的像素數。
16、作為一種優選的方案,所述將當前幀圖像的平均灰度值與設定的目標灰度閾值范圍進行比較,根據比較結果,判定當前場景是否需要調節曝光參數或增益參數的步驟中,若當前幀圖像的平均灰度值不在設定的目標灰度閾值范圍時,則判定當前場景需要調節曝光參數或增益參數。
17、作為一種優選的方案,所述當需要調節曝光參數或增益參數時,先判斷當前增益參數是否為初始值,根據判斷結果選擇后續調節曝光參數還是增益參數的步驟中,如果當前增益參數為初始增益值,則選擇曝光參數進行調節;如果當前增益參數不為初始增益值,則判定歷史幀圖像已經進行過增益調節,再次調節時優先將狀態拉回增益參數調節中。
18、作為一種優選的方案,所述依據設定的目標灰度閾值范圍,對曝光參數或增益參數進行自適應調節的步驟,利用預先建立的分段式曝光參數調整模型預測目標幀圖像的曝光參數和平均灰度值,實現對曝光參數的自適應調節;采用固定步長增大或減小增益值的方式,實現對增益參數的自適應調節。
19、作為一種優選的方案,所述利用預先建立的分段式曝光參數調整模型預測目標幀圖像的曝光參數和平均灰度值,實現對曝光參數的自適應調節的步驟包括:
20、等光照強度下,當灰度值處于中間區域時,灰度值和曝光時間成線性關系,則根據當前幀和目標幀圖像灰度的比例關系,結合當前幀的曝光時間等比例放大和縮小未來幀曝光時間,建立第一分段式曝光參數調整模型,第一分段式曝光參數調整模型的表達式如下:
21、
22、式中, dsir_expo為模型預測的目標幀曝光時間, expo_time為當前幀對應的曝光時間, aver_gray_ok為目標幀最優灰度值, avg_gray為當前幀的平均灰度值。
23、作為一種優選的方案,所述利用預先建立的分段式曝光參數調整模型預測目標幀圖像的曝光參數和平均灰度值,實現對曝光參數的自適應調節的步驟包括:
24、當灰度值不處于中間區域時,灰度值和曝光時間成非線性關系,采用逐步逼近法建立第二分段式曝光參數調整模型,第二分段式曝光參數調整模型的表達式如下:
25、
26、式中, dsir_expo為模型預測的目標幀曝光時間, expo_time為當前幀對應的曝光時間, aver_gray_ok為目標幀最優灰度值, avg_gray為當前幀的平均灰度值。
27、作為一種優選的方案,在所述采用固定步長增大或減小增益值的方式,實現對增益參數的自適應調節的步驟中,當fpga進入到增益參數調節過程時,如果判斷當前幀圖像的平均灰度值小于目標灰度閾值范圍時,則通過配置圖像寄存器的值來增大增益值,反之則減小增益值。
28、第二方面,提供一種基于fpga的cmos圖像傳感器曝光增益系統,包括:
29、平均灰度值計算模塊,用于通過fpga采集一幀原始圖像數據,計算當前幀圖像的平均灰度值;
30、比較判定模塊,用于將當前幀圖像的平均灰度值與設定的目標灰度閾值范圍進行比較,根據比較結果,判定當前場景是否需要調節曝光參數或增益參數;
31、調節對象選擇模塊,用于當需要調節曝光參數或增益參數時,先判斷當前增益參數是否為初始值,根據判斷結果選擇后續調節曝光參數還是增益參數;
32、調節輸出模塊,用于依據設定的目標灰度閾值范圍,對曝光參數或增益參數進行自適應調節,使當前幀圖像的平均灰度值達到設定的目標灰度閾值范圍內,停止調節并輸出當前曝光參數與增益參數。
33、第三方面,提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現所述基于fpga的cmos圖像傳感器曝光增益方法。
34、相較于現有技術,本發明至少具有如下的有益效果:
35、本發明基于fpga的cmos圖像傳感器曝光增益方法利用fpga對cmos圖像傳感器的曝光時間和增益值進行自適應調整,能夠根據圖像的不同光照場景,自動調整曝光參數和圖像增益值,以獲得最佳的拍攝效果。通過獲取當前幀圖像的平均灰度值,并與設定的目標灰度閾值范圍進行比較,如果超出目標灰度閾值范圍則選擇對曝光參數或增益參數進行調節。當需要調節曝光參數或增益參數時,先判斷當前增益參數是否為初始值,由此確定歷史幀圖像是否已經進行過增益調節,根據判斷結果選擇后續調節曝光參數還是增益參數。最后依據設定的目標灰度閾值范圍,對曝光參數或增益參數進行自適應調節,使當前幀圖像的平均灰度值達到設定的目標灰度閾值范圍內。本發明實現了通過有限幀數循環后不斷逼近理想灰度值的過程,使現有的自動曝光可以適應強光照、低照度,避免調節過程中出現圖像閃爍。
36、進一步的,本發明利用預先建立的分段式曝光參數調整模型預測目標幀圖像的曝光參數和平均灰度值,實現對曝光參數的自適應調節,采用固定步長增大或減小增益值的方式,實現對增益參數的自適應調節。本發明能夠完成圖像曝光參數和圖像增益值的自適應調整,并輸出曝光參數和增益值;通過引入分段式建模的方法,相比傳統自動曝光方案,建模預測精度更高,不同場景下自動曝光的收斂速度快,同時高精度建模方案可有效規避曝光調整過程中的震蕩,使曝光參數能夠更快地收斂到最佳值。在傳統自動曝光方案的基礎上,引入了自動增益參數同時調整圖像亮度,使得圖像在更大的光照強度范圍內均能獲得理想的灰度值。