图像处理之FPN校正

1 FPN噪声介绍

FPN噪声(Fixed Pattern Noise)简称固定模式噪声,根据FPN噪声形成机制,分为行FPN和列FPN。

行FPN: 在基于模拟域累加实现的TDI-CMOS图像传感器中。由于模拟累加器电路中存在寄 生电阻和电容,电路失配会导致输出图像在TDI(时间延迟积分)扫描方向(即“沿轨”方向) 亮度不均匀,且呈周期性衰减,突出表现为周期性横条纹。

列FPN:传感器列并行读出电路(模拟累加器和ADC(模数转换器)等)的系统结构由于 工艺偏差很容易出现列与列之间的失配,从而导致输出图像在与TDI扫描方向垂直的方向 (即“跨轨”方向)亮度不均匀,表现为明暗变化的竖条纹。在TDI-CMOS图像传感器的输出图像中,由行FPN导致的横条纹和由列FPN导致的 竖条纹同时存在且交织在一起.

如下图所示:

image

2 FPN噪声计算

FPN噪声衡量通常在极低照环境下进行,即将相机放置极低照环境(或关闭镜头光圈,让sensor采集黑帧),设置多个曝光时间,每个曝光时间采集30张黑帧图片。FPN噪声强度用标准差和均值进行衡量,具体实现如下:

exp_time = [0.063, 1.003,16, 64,257,513,770,1027,1283,1540,1797,2054];
raw_avg = 0;
for kk = 0:30:(30*12-1)
   for i = 1:30
       fname = fileNames{kk+i};
       fprintf('processing %s %d
', fname, kk+i);
       raw = double(imread([fold fname]));
       raw = raw(:,:,1);
       raw_avg = raw + raw_avg;
   end
   raw_avg = raw_avg./30;

   avg_signal((kk/30)+1) = round(mean2(raw_avg)); %FPN均值
   fpn_total((kk/30)+1) = std2(raw_avg);  %FPN标准差

   fpn_col_exp((kk/30)+1) = std(mean(raw_avg,1)); %列FPN均值
   fpn_row_exp((kk/30)+1)     = std(mean(raw_avg,2)'); %行FPN均值
end

如上计算,可以得到图像的平均信号,每个曝光的FPN noise,以及行,列FPN noise,行列均值,变化如下:

image

3 FPN校正步骤

原文地址:https://www.cnblogs.com/linhaostudy/p/13949820.html