zoukankan      html  css  js  c++  java
  • 图像处理之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
    ', 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校正步骤

            略

      

  • 相关阅读:
    AC自动机
    HDU
    2020牛客寒假算法基础集训营3 B 牛牛的DRB迷宫II
    POJ 3784 Running Median【维护动态中位数】
    CodeForces
    HDU 2444 The Accomodation of Students【二分图最大匹配问题】
    POJ 1201 Intervals【差分约束】
    POJ 2976 Dropping tests【0/1分数规划模板】
    2019牛客暑期多校训练营(第七场)A.String【最小表示法】
    POJ 1287 Networking【kruskal模板题】
  • 原文地址:https://www.cnblogs.com/qiqibaby/p/8602082.html
Copyright © 2011-2022 走看看