图像处理之FPN校正
1 FPN噪声介绍
FPN噪声(Fixed Pattern Noise)简称固定模式噪声,根据FPN噪声形成机制,分为行FPN和列FPN。行FPN: 在基于模拟域累加实现的TDI-CMOS图像传感器中。由于模拟累加器电路中存在寄 生电阻和电容,电路失配会导致输出图像在TDI(时间延迟积分)扫描方向(即“沿轨”方向) 亮度不均匀,且呈周期性衰减,突出表现为周期性横条纹。列FPN:传感器列并行读出电路(模拟累加器和ADC(模数转换器)等)的系统结构由于 工艺偏差很容易出现列与列之间的失配,从而导致输出图像在与TDI扫描方向垂直的方向 (即“跨轨”方向)亮度不均匀,表现为明暗变化的竖条纹。在TDI-CMOS图像传感器的输出图像中,由行FPN导致的横条纹和由列FPN导致的 竖条纹同时存在且交织在一起,如下图所示:
2 FPN噪声计算
FPN噪声衡量通常在极低照环境下进行,即将相机放置极低照环境(或关闭镜头光圈,让sensor采集黑帧),设置多个曝光时间,每个曝光时间采集30张黑帧图片。FPN噪声强度用标准差和均值进行衡量,具体实现如下:
1 exp_time = [0.063, 1.003,16, 64,257,513,770,1027,1283,1540,1797,2054]; 2 raw_avg = 0; 3 for kk = 0:30:(30*12-1) 4 for i = 1:30 5 fname = fileNames{kk+i}; 6 fprintf('processing %s %d\n', fname, kk+i); 7 raw = double(imread([fold fname])); 8 raw = raw(:,:,1); 9 raw_avg = raw + raw_avg; 10 end 11 raw_avg = raw_avg./30; 12 13 avg_signal((kk/30)+1) = round(mean2(raw_avg)); %FPN均值 14 fpn_total((kk/30)+1) = std2(raw_avg); %FPN标准差 15 16 fpn_col_exp((kk/30)+1) = std(mean(raw_avg,1)); %列FPN均值 17 fpn_row_exp((kk/30)+1) = std(mean(raw_avg,2)'); %行FPN均值 18 end
如上计算,可以得到图像的平均信号,每个曝光的FPN noise,以及行,列FPN noise,行列均值,变化如下:
3 FPN校正步骤
略