採用加權線性方法的高動態範圍與低動態範圍範例

簡要說明

檔案: \examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Bayer_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Color_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Gray_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Bayer_3_Full.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Color_3_Full.vad

預設平台: mE5-MA-VCL

短說明

基於 Reinhard 等人與 Fattal 等人之方法的加權線性 HDR 演算法與 LDR 演算法。

此高動態範圍 (HDR) 與低動態範圍 (LDR) VisualApplets (VA) 設計類似於 'High Dynamic Range and Low Dynamic Range Example Using Camera Response Function' 中所述者。 其差異在於 HDR 演算法,將在下列小節中說明。 此範例有多種變體:它們是為 marathon VCL 基底和完整配置所設計, 適用於 RGB、Bayer 陣列或灰階相機。

採用加權線性方法的高動態範圍成像

曝光 可寫成 以下的反函數: 方程式 32

方程式 42。


如果您假設曝光為線性函數,則可以使用下列公式建構 HDR 色彩分量:

方程式 43。


而非 方程式 34。在此處 類似於 方程式 35 ,這是一個權重函數,可降低曝光不足與過度曝光像素值的強調程度。此範例中的 LDR 分量計算方式 類似於下列中的 LDR 演算法: 和 .

VisualApplets 設計

此範例適用於拍攝具有極寬亮度範圍(包含極暗與極亮物件)的場景。 影像會傳輸至 PC,其中場景中的每個物件都能正確顯示。 該設計的基本結構如圖 354 所示(此處以基底配置的 Bayer 陣列相機為例)。 每個影像像素的紅、綠、藍值是在 HierarchicalBox Bayer 中使用 Bayer5x5Linear 運算子計算。 在方塊 ImageSequence 中會緩衝三張影像的序列。這三張影像應具有三種不同的曝光時間,以進行 HDR-LDR 處理。 選擇曝光時間時,應確保每個影像像素在曝光序列的至少一張影像中, 既未曝光不足也未過度曝光。 您可以在 HierarchicalBox Trigger(見圖 348)中使用運算子 SignalWidth width1 到 width3 來設定這些時間。 請注意,時間刻度為 8 ns 的系統時脈週期。運算子 Generate-Period 的設定值必須大於運算子 SignalWidth width1 到 width3 的最長時間。此外,請參閱相機手冊中關於運算子 Generate-Period 的最小週期長度說明。 這三張影像會使用 Equation 43 中所述的加權線性 HDR 演算法進行組合。它實作於 HierarchicalBox HDR(圖 354)中。Reinhard 等人 [Rei02] 與 Fattal 等人 [Fat02] 的 LDR 演算法則實作於 LDR 中。所產生的 RGB 影像色彩會在 HierarchicalBox OutputToPC 中進行合併。在設計 "HDR_linearW_Gray_3_Base.vad" 中不存在此方塊。 運算子 SourceSelector 可讓您選擇傳輸處理後的 HDR-LDR 影像或 相機影像(經 Bayer 解馬賽克)的 DMA 傳輸。由於設計結構與計算方式類似於 節中的範例, 因此我們接下來將專注於說明 HDR 的內容。但請注意,在某些細節(如小數位數)上,設計可能 會有所不同。您可以在範例的註解方塊中找到相應的提示。

基本設計結構

圖 354. 基本設計結構


在圖 355 中,您可以看到 HierarchicalBox 的內容 HDR。對於緩衝影像序列的三個影像,分子和分母的相加項 與分母 的成員 方程式 43 是針對第一到第三個影像(HierarchicalBox Image1 設定為 Image3)分別計算紅色、綠色和藍色。對於設計「HDR_linearW_Gray_3_Base.vad」中的灰階影像,則僅針對灰階分量進行計算。

HDR box 的內容

圖 355。HDR box 的內容


這些相加項的計算如圖 356 所示,以紅色為例 Image1 。綠色、藍色以及影像 2 和 3 的計算方式與此類似。圖中的像素值 356 除以曝光時間,該時間可透過參數的值來設定 Const_dt1 (或類似的 Const_dt2 和 Const_dt3)。時間基準可以是秒、毫秒或微秒,並可透過參數進行設定 TimeBase 在 boxes 中 Red, 綠色 和 Blue 在 box 中 HDR (見圖 355 和圖 357)。結果 會乘以一個透過 LUT 實作的權重函數 LUT_weight。表「WeightsLinear.txt」可以使用 Matlab 程式模組「WeightLinear.m」、「sample.m」(灰階影像則為「sample_gray.m」)以及「HDR_CRC_m」(灰階影像則為「HDR_CRC_Gray.m」)(位於 \examples\Processing\Advanced\HighDynamicRange\ 下)建立。請同時閱讀「HDR_CRC.m」(灰階影像則為「HDR_CRC_Gray.m」)中的簡短手冊以取得進一步說明。 圖中所示元件的輸出 356 隨後即為以下項目的加數: 方程式 43: 和 .

框 Image1 中的紅色內容

圖 356. 框 Image1 中的 Red 內容


框 HDR 中的紅色內容

圖 357. 框 HDR 中的 Red 內容


這些加數會在 HierarchicalBoxes Red、Green 與 Blue 中根據 Equation 43 進行相加與除法運算。 請參閱圖 357 中的框 Red 等範例。

亮度 在模組 Luminance、縮放亮度 、LDR 亮度 以及 LDR 色彩元件的最終計算 , 和 或 與章節 「High Dynamic Range and Low Dynamic Range Example Using Camera Response Function」中的實作類似。如需進一步閱讀,請參考章節中的對應部分 或 VA 設計中的註解框。