bayer格式插值演算法實現

2021-10-10 03:20:28 字數 1047 閱讀 5932

bayer格式插值紅藍演算法實現

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

r和b通過線性領域插值,但這有四種不同的分布,如下圖所示:

在(a)與(b)中,r和b分別取鄰域的平均值。

在(c)與(d)中,取領域的4個b或r的均值作為中間畫素的b值。

bayer格式插值綠演算法實現

由於人眼對綠光反應最敏感,對紫光和紅光則反應較弱,因此為了達到更好的畫質,需要對g特殊照顧。在上述(c)與(d)中,擴充套件開來就是上圖的(e)與(f)中間畫素g的取值,者也有一定的演算法要求,不同的演算法效果上會有差異。

經過相關的研究,(e)中間畫素g值的演算法如下:

(f)中間畫素g值的演算法如下:

cmos攝像頭這部分轉換是在內部用adc或者isp完成的,生產商為了降低成本必然會使得影象失真。當然用外部處理器來實現轉換,如果處理器的速度足夠nb,能夠勝任畫素的操作,用上面的演算法來進行轉換,皆大歡喜。不過上述演算法將直接成倍提高了演算法的複雜度,速度上將會有所限制。因此為了速度的提成,可以直接通過來4領域g取均值來中間畫素的g值,將會降低一倍的速率,而在效能上差之甚微,演算法如下:

如果能夠通過損失影象的額質量,來達到更快的速度,還可以取g1、g2的均值來實現,但是這樣的做法會導致邊沿以及跳變部分的失真。

BAYER格式轉RGB格式硬體實現

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

重要插值積分演算法實現

一 newton插值法 include define max n 20 typedef struct tagpoint point int main 三 用梯形公式 include include double f double x else 復化梯形公式 double comtx double f...

Python 實現牛頓插值演算法

匯入標頭檔案 import matplotlib.pyplot as plt from pylab import mpl import numpy as np import pandas as pd import math matplotlib inline 得到差商表函式 def get diff...