圖像采集的功能一般用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.......得到RGBRGB....,經過了十六次的對邊求和運算,然后再根據新的到的像素值再進行一次對邊求和運算,8次運算。得到一個3*3的RGB全像素矩陣(中心的像素值通過延時得到沒有做插值處理)
然后利用得到的新的RGB像素值減去該3*3像素點本身像素點的值(延時得到),就可以得到一個新的像素值。
根據當時輸出像素點的值,再由新得到的3*3矩陣進行一個不同的插值計算,就可以得到該點的RGB像素值。