BAYER格式轉RGB格式硬體實現

2022-08-19 22:12:15 字數 1142 閱讀 2335

影象採集的功能一般用ccd和cmos感測器來實現,但是這兩種影象感測器在乙個畫素上智慧型採集rgb顏色的乙個分量,為了獲得最佳的影象效果,需要3個影象感測器分別採集不同的顏色分量,一般的拜爾模型如下圖所示,系統中用到的模型如圖中紅框內所示,

攝像頭時鐘是:74.25mhz,畫素是1920*1080

以每個2*2的方陣為乙個單位,由於人眼對綠光比較敏感,所以有兩個綠色畫素,乙個紅色畫素和乙個藍色畫素

在用硬體實現時,標記乙個x和乙個y,每個有效畫素過後x進行乙個翻轉,每個有效行之後y進行乙個有效翻轉。這樣就可以得到乙個2*2的矩陣,構成乙個基本的畫素矩陣。

設計了乙個5*5的矩陣,實現**如下:o_pix_data[data_size*(i+1)-1:data_size*i] <= mem_r[(mem_wsel_s+line_size-i)>=line_size?mem_wsel_s-i:mem_wsel_s+line_size-i]

五行資料一次排開,從最高位依次排到最低位。根據輸出的行不同,排列順序不同。當前輸入的行永遠在最低位。其中mem_r儲存的資料對應於當前輸入位。儲存 到第5行資料的時候開始輸出。

剩餘的四行資料依次由低位到高位輸出

如果當前輸入是mem_wsel_s為0時,最低位資料為第一行,然後是第五行,然後是第四行,然後是第三行,然後是第二行

如果當前輸入是mem_wsel_s為1時,最低位資料是第二行,然後是第一行,然後是第五行,然後是第四行,然後是第三行

依次排列。。。。。。

每次輸出的資料做四個時鐘的延時,就可以得到乙個5*5的矩陣。然後對這個5*5畫素點中間的3*3矩陣進行兩個時鐘的延時得到兩個

處理後的資料是從第四行開始有效的

對每個畫素進行插值,由gbgb.......得到r

gbrgb....,經過了十六次的對邊求和運算,然後再根據新的到的畫素值再進行一次對邊求和運算,8次運算。得到乙個3*3的rgb全畫素矩陣(中心的畫素值通過延時得到沒有做插值處理)

然後利用得到的新的rgb畫素值減去該3*3畫素點本身畫素點的值(延時得到),就可以得到乙個新的畫素值。

根據當時輸出畫素點的值,再由新得到的3*3矩陣進行乙個不同的插值計算,就可以得到該點的rgb畫素值。

RGB格式解析

rgb的幾種格式和描述 rgb565 每個畫素用16位表示,rgb分量分別使用5位 6位 5位 rgb555 每個畫素用16位表示,rgb分量都使用5位 剩下1位不用 rgb24 每個畫素用24位表示,rgb分量各使用8位 rgb32 每個畫素用32位表示,rgb分量各使用8位 剩下8位不用 arg...

bayer格式插值演算法實現

bayer格式插值紅藍演算法實現 每乙個畫素僅僅包括了光譜的一部分,必須通過插值來實現每個畫素的rgb值。為了從bayer格式得到每個畫素的rgb格式,我們需要通過插值填補缺失的2個色彩。插值的方法有很多 包括領域 線性 3 3等 速度與質量權衡,最好的線性插值補償演算法。其中演算法如下 r和b通過...

YUV格式到RGB格式的轉換

yuyv格式到rgb格式的轉換 yuyv格式如下 y0u0y1v0 y2u1y3v1.說明 乙個y代表乙個畫素,而乙個y和uv組合起來構成乙個畫素,所以第0個畫素y0和第乙個畫素y1都是共用第0個畫素的u0和v0。而每個分量y,u,v都是占用乙個位元組的儲存空間。所以y0u0y1v0相當於兩個畫素,...