Bayer Pattern——RGGB


原博客地址:https://blog.csdn.net/joe9280/article/details/46952947

參考:https://blog.csdn.net/wgx571859177/article/details/79772626

 

1. 硬件上

私以為對CCD的原理有大致了解可以幫助我們對Beyer Pattern有更好的了解。我們知道鏡CCD(Charge-coupled Device)通過濾鏡將普通的入射光分為紅綠藍RGB三個分量。很容易聯想到普通的圖片每個像素點都包含RGB三個分量的信息,這很容易誤導我們認為CCD也接收了每個像素點的三個通道的信息。然而並不是,原理圖如下,每一個像素點CCD都只接收了RGB三個分量中的一個分量。一般而言是按照“RG/GB”的方式排列(對照圖可以了解RG/GB其實是一個正方形的兩行這么排列的)。

這里寫圖片描述

這里寫圖片描述

2. 算法上

Bayer彩色濾波陣列是當前最為流行的彩色圖像數字獲取形式。三個顏色濾波的形式如下:

這里寫圖片描述

一半的像素點為綠色(G),四分之一的像素點分別是紅色(R)和藍色(B)。

為了獲得色彩信息,彩色圖像傳感器覆蓋有紅色、綠色或者藍色的濾鏡,這種濾鏡以相同的模式重復出現(上圖中為RG/GB,也可以看做GR/BG)。濾鏡的排列模式可以不一樣,但是普遍使用的Bayer Pattern是2*2的陣列。

3. Bayer format to RGB

將Bayer Pattern的格式轉換為RGB,那就需要通過插值的方式將每個像素點中丟失的兩個顏色找回來。有幾種插值的方式可以使用,但是最常用的方法是線性插值的修正調節版本。

對紅色(R)和藍色(B)分量進行插值。

這里寫圖片描述

當一個綠色(G)的像素點上缺失藍色(B)和紅色(R)時,我們將這個像素點周圍最近的兩個相同的顏色做平均。如上圖的第一張和第二張。中心像素點的紅色(R)和藍色(B)由周圍最近的兩個紅色(R)和藍色(B)求平均得到。 
如果是求一個紅色(R)像素點上的藍色(B)分量,上圖中第三張。我們用最近的4個藍色求平均得到。 
如果是求一個藍色(B)像素點上的紅色(R)分量,上圖中第四張。我們用最近的4個紅色求平均得到。 
求紅色(R)和藍色(B)像素點上的綠色(G)分量:

這里寫圖片描述

G(R) = (G1 + G3) / 2 if abs(R1 – R3) < abs(R2 – R4) 
G(R) = (G2 + G4) / 2 if abs(R1 – R3) > abs(R2 – R4) 
G(R) = (G1 + G2 + G3+ G4) / 4 if abs(R1 – R3) = abs(R2 – R4)

G(B) = (G1 + G3) / 2 if abs(B1 – B3) < abs(B2 – B4) 
G(B) = (G2 + G4) / 2 if abs(B1 – B3) > abs(B2 – B4) 
G(B) = (G1 + G2 + G3+ G4) / 4 if abs(B1 – B3) = abs(B2 – B4)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM