| 簡要說明 | |
|---|---|
|
檔案: \examples\Processing\Color\Bayer\Laroche_original_maVCL.va |
|
|
預設平台: mE5-MA-VCL |
|
|
短說明 基於 Laroche 的 Bayer Demosaicing 演算法 |
|
根據 Laroche 等人的研究 [Lar94],Bayer 格式 [Bay76] 中的紅、綠、藍像素值可以使用以下演算法進行外推:
在第一個步驟中,所有綠色像素值(亮度值)皆透過水平與垂直色度梯度進行外推(
和
)。這些梯度是使用一個
核心來定義:
是必須插補綠色值之像素上的色度值(紅色或藍色)。
綠色
隨後在紅色和藍色像素位置上為:
根據插值所得的亮度,可以計算出遺失的紅綠藍像素值 [Lar94]。 紅色像素上的藍色,或藍色像素上的紅色:
紅色行中綠色像素上的藍色,或藍色行中綠色像素上的紅色:
以及藍色行中綠色像素上的藍色,和紅色行中綠色像素上的紅色:
此處
該色彩值是紅色
還是藍色,這點尚待確定。
紅、綠、藍像素上的紅、綠、藍數值,即來自拜耳陣列輸入影像的數值。
完整的演算法(\examples\Processing\Color\Bayer\Laroche_original_maVCL.va)已在針對 microEnable5 取像卡(marathon)的 VisualApplets 設計中實作。
您可以在 圖 245「基本設計結構」中看到其基本設計結構 Image 和 OutputToPC 的內容相當於基本的擷取設計,請參閱例如 「適用於 marathon 取像卡的 Camera Link 相機基本擷取範例」。在 HierarchicalBox WhiteBalancing 執行相當於
「Bayer 5x5 Demosacing with White Balancing」 中範例的白平衡。
在 圖 246「Bayer 去馬賽克處理的插值步驟 1」 設定為 圖 248「HierarchicalBox BlueAndRed 的內容」 方框 BayerFilter
的內容(附帶詳細註解)顯示如下:在 圖 246「Bayer 去馬賽克處理的插值步驟 1」 梯度
和
根據 方程式 8進行計算。紅色和藍色像素上的綠色值則根據 方程式 9.
在 圖 247「ColourInterpolation 的內容」 中顯示了 HierarchicalBox ColourInterpolation 顯示如下:在 HierarchicalBox GreenOut
中,如果目前位置是紅色或藍色像素,則將插值步驟 1 的綠色值決定為輸出綠色值。否則,如果目前位置是綠色像素,則輸出綠色值即為來自 Bayer 圖案的輸入綠色值。位置判定會發生在 WhereAmI RedOrBlue 中,使用
Modulo、AND、NOT 和 NotEqual 運算子。在 HierarchicalBox BlueAndRed 中,所有紅色和藍色值均會根據
從輸入 Bayer 圖案(使用 方程式 9kernel)以及插值綠色值進行插值運算。
在 圖 248「HierarchicalBox BlueAndRed 的內容」 您可以檢視分層方塊的內容 BlueAndRed 插值步長為 2。進行同步不是針對單一核心,而是針對多個核心值的總和,以節省 FPGA 上的資源。最後(請參閱 圖 247「ColourInterpolation 的內容」),透過 IF-operators RedOut 和
BlueOut 計算出的紅色和藍色值會被指定到對應的像素位置,這些位置是在 HierarchicalBox 中確定的
WhereAmIColour (類似於 WhereAmI RedOrBlue)。
在 圖 250,「使用 Laroche 等人的演算法進行去馬賽克處理的影像 [Lar94]」 您可以將使用實作演算法的 Bayer 去馬賽克處理結果與原始合成彩色影像(圖 249,「原始彩色影像」)以及使用 VA 標準運算子
Bayer5x5
進行雙線性 (圖 251,「使用雙線性
演算法進行去馬賽克處理的影像」)。
因此,與
插補方法相比,您可以發現鋸齒效應 (zipper effect) 和偽色偽影 (false color artefacts) 明顯減少。






上一頁

