相機內部攝像頭數據輸出格式(轉)


原文轉自 https://blog.csdn.net/u011425939/article/details/53437000

 

對於彩色圖像,需要采集多種最基本的顏色,如rgb三種顏色,最簡單的方法就是用濾鏡的方法,紅色的濾鏡透過紅色的波長,綠色的濾鏡透過綠色的波長,藍色的濾鏡透過藍色的波長。如果要采集rgb三個基本色,則需要三塊濾鏡,這樣價格昂貴,且不好制造,因為三塊濾鏡都必須保證每一個像素點都對齊。當用bayer格式的時候,很好的解決了這個問題。bayer 格式圖片在一塊濾鏡上設置的不同的顏色,通過分析人眼對顏色的感知發現,人眼對綠色比較敏感,所以一般bayer格式的圖片綠色格式的像素是是r和g像素的和。

先看看網上的一種說法“攝像頭的數據輸出格式一般分為CCIR601、CCIR656、RAW RGB等格式”

大嘴評述:這里的攝像頭嚴格來說應該是傳感器(sensor),個人覺得CCIR601和CCIR656更應該看做是一種標准和計算方式,而不應該是數據格式,這里我覺得有些誤導,不必深究,具體關於CCIR601和CCIR656感興趣的朋友請自行查閱資料,這里只做簡單介紹。

一、Sensor的感光原理:

         Sensor的感光原理是通過一個一個的感光點對光進行采樣和量化,但在Sensor中,每一個感光點只能感光RGB三基色中的一種顏色(這個顏色可以理解為像素的一個顏色分量,並不是最終的圖像顯示的顏色,最終圖像顯示的顏色是由RGB三個顏色分量組合構成,根據RGB三個顏色分量的值不同,組合成不同的顏色)。所以,通常所說的30萬像素或130萬像素等,指的是有30萬或130萬個感光點,每一個感光點只能感光一種顏色。

二、CCIR601或656的格式

        要還原一個真正圖像,需要每一個點都有RGB三種顏色,所以,對於CCIR601或656的格式,在Sensor模組的內部會有一個ISP模塊,會將Sensor采集到的數據進行插值和特效處理,例如:如果一個感光點感應的顏色是R,那么,ISP模塊就會根據這個感光點周圍的G、B感光點的數值來計算出此點的G、B值,那么,這一點的RGB值就被還原了,然后在編碼成601或656的格式傳送給Host。

三、RGB RAW格式

        RGB RAW格式的Sensor是將每個感光點感應到的RGB數值直接傳送給Host,由Host來進行插值和特效處理。由此可見RGB RAW DATA才是真正的原始數據。RGB RAW DATA是指原始的數據,單個pixle只能感應一種顏色(RGB中的一種)。

四、 Bayer格式

       如果這個原始數據的排列格式是 RGRG/GBGB排列的,我們叫做 Bayer pattern(這個最最常見)。所以 Bayer RGB是屬於 RGB RAW data的,但是 RGB RAW data不一定是bayer pattern,不同廠家的sensor,其RGB RAW DATA排列是不同的, 不過對於我們來說不必過於關心掃描格式,反正廠家都會提供API.

      Bayer格式是相機內部的原始圖片, 一般后綴名為.raw。很多軟件都可以查看, 比如PS。我們相機拍照下來存儲在存儲卡上的.jpeg或其它格式的圖片, 都是從.raw格式轉化過來的。如下圖,為bayer色彩濾波陣列,由一半的G,1/4的R,1/4的B組成。一般bayer格式的圖片綠色像素是r和g像素的和。

 

                                                                          

Bayer數據,其一般格式為:
奇數掃描行輸出 RGRG……
偶數掃描行輸出 GBGB……

  根據人眼對彩色的響應帶寬不高的大面積着色特點,每個像素沒有必要同時輸出3種顏色。因此,數據采樣時,

奇數掃描行的第1,2,3,4,…象素分別采樣和輸出R,G,R,G,…數據;

偶數掃描行的第1,2,3,4,…象素分別采樣和輸出G,B,G,B,…數據。

在實際處理時,每個像素的R,G,B信號由像素本身輸出的某一種顏色信號和相鄰像素輸出的其他顏色信號構成。這種采樣方式在基本不降低圖像質量的同時,可以將采樣頻率降低60%以上。


免責聲明!

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



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