黑电平校正、FPN校正、平场校正、白平衡校正,这四种校正,虽然形成原理和操作方式有不同,但是在实际应用中,经常是交叉的,尤其是在硬件实现时,出于速度以及资源的考虑,会融合起来做,或者使用一种暴力简单的方式来达到效果,在大多数应用场合,并不需要严格的校正,比如线性校正可以代替非线性校正;

原理:

黑电平校正:为什么要黑电平校正,1.sensor的ADC精度和分辨力问题,这两项,导致绝对黑电平时,在允许范围内会有偏差;2.暗电流问题,工艺不可能保证每个像元的特性一致,在不同的温度和曝光时长下,响应也是不同的,所以在不同情况下,即使处于无光照的环境中,像素也会有一定的输出电压;如图是黑电平校正效果

校正前需要根据图像的具体情况进行分析,若图像平面趋于平整,则推荐使用全帧均值;若图像出现一些峰值,有明显突出山峰等,推荐使用中值的方法;若出现某个角的值比较高,可能由于电源或者其他的原因引起的,则推荐使用局部计算的方法;此外,还有自定义、最大值等方法,需要根据不同图像的情况去选择方法,终其目的都是一样的。

也可以使用简单的方法,直接减去黑电平值,校准到0值,这种方法鲁棒性不好,但是简单,节省硬件资源;也可以根据温度和增益的变化实时校正,提前根据特性数据点建立一次函数,在拉流过程中进行曲线校正;

FPN校正:固定模式噪声校正,也叫做暗场校正。

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

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

FPN校正要在极低照环境下进行,也就是黑图。一般来说,人眼对竖条纹更敏感一些,所以在有些资源紧张的应用中,仅做列FPN校正;

FPN校正可以看做FFC校正的一部分;

平场校正(FFC):原因,光线不均匀、镜头中心和边缘响应不一致,sensor固定噪声和响应不均匀噪声等。

平场校正一般用FPN暗场校正和PRNU明场校正进行,平场校正就是以整帧图像的均值或者中值为目标图像,根据每个像素的特性不同,以响应增益gain为系数K和offset偏置B,对每个像素进行校正,从而使得整幅图像看起来很均匀平滑,当然,为了简化计算,节省资源,也可以使用多个相邻的像素使用同一组校准参数。

校正时,可以采用多段校正法将响应曲线分段校正,而更多的是简单暴力的两点校正法,也就是看成线性响应。

在暗场校正中,可以得到均值Vavgb,像素值Vinb;

在明场校正中,可以得到均值Vavgr,像素值Vinr;

可以得到增益响应系数K=(Vavgr-Vavgb)/(Vinr-Vinb);

偏置B=Vavgb-Vinb*K;

将n个像素的每一个像素点的K[n]和B[n]写入一个ram表中,当读取一帧图像时,对每一个像素进行校正Vout=Vin*K+B;

白平衡校正:涉及到色温,不同场景下色温不同,校正系数也不同,并且,不同的sensor校正系数也有一些差异,一般来说,实际应用只需要满足一种常用色温下的校正;

人眼会默认白色色块的RGB分量值是相等的,所以将RGB三个通道各自的均值算出,Ravg、Gavg、Bavg,加入像素位宽8bit,那么认为中间值是128,kR=128/Ravg,kG=128/Gavg,kB=128/Bavg,得到系数k,输出像素Rout=Rin*k,G和B通道同理。这种方法叫灰度世界法,根本是用中间值128做归一化。

部分引用来自下面:
————————————————
原文链接:https://blog.csdn.net/xiaoyouck/article/details/72824534

https://www.cnblogs.com/qiqibaby/p/8602082.html

黑电平校正、FPN校正、平场校正、白平衡校正相关推荐

  1. (10)QJ_黑电平AWBCCM校正步骤raw数据抓取

    1,设备准备:待校正主控+SENSOR+镜头+镜头盖(可抓raw版本) 2,环境准备:图像室灯箱环境,24色卡,照度计 3,说明书准备:<HiISP 颜色调优说明>.<图像质量调试工 ...

  2. 黑电平校正(BLC-Black Level Correction)

    黑电平产生的原因 Sensor的电路本身会存在暗电流. 暗电流(dark current),也称无照电流,指在没有光照射的状态下,在太阳电池.光敏二极管.光导电元件.光电管等的受光元件中流动的电流,一 ...

  3. ISP之BLC(黑电平校正)

    ISP之BLC(黑电平校正) 目录 ISP之BLC(黑电平校正) 一.黑电平定义 二.黑电平形成原因 三.校正位置 四.校正方法 五.实际应用校正方法 关于黑电平调试部分参考一下博客 https:// ...

  4. BLC(BlackLevel Correction)------黑电平校正

    底电流, Black Level 也叫暗电流,意思是说环境全黑的时候的电流.是用来定义图像数据为 0 时对应的信号电平.由于暗电流的影响, 传感器出来的实际原始数据并不是我们需要的黑平衡( 数据不为0 ...

  5. ISP算法学习之BLC(黑电平校正)

    BLC--black level correction黑电平校正 在ISP算法中进行黑电平校正的目的是消除图像中的暗电流噪声和感光器非均匀性引起的色彩偏差. 一.产生的原因 暗电流(Dark Curr ...

  6. 什么是FDR校正,核磁共振成像中FDR校正方法有哪些?如何进行FDR校正?

    FDR校正 背景 多重比较校正 FDR校正 基本思想 FDR 校正 FDR 调整 例子 脑科学中的FDR校正的例子 如何在 R 中进行 FDR 校正? 如何在 Matlab 中进行 FDR 校正? 背 ...

  7. ISP--Black Level Correction(黑电平矫正)

    在上一篇文章中,我们已经知道了Sensor的构造,Sensor的成像原理.但是从光信号转换为图像,其中还有许多的工作,OBC就是其中之一. 在之前的文章中,我们已经知道了,每一个像素点都是由一个光电二 ...

  8. 技术科普丨黑电平:你真的懂“黑”吗?

    技术科普丨黑电平:你真的懂"黑"吗? 转载于:技术科普丨黑电平:你真的懂"黑"吗? 第27期 "眼前的黑不是黑,你说的白是什么白-" 不知你 ...

  9. ISP BLC(BlackLevel Correction) -ISP端 BLC 黑电平矫正的学习理解

    个人理解:BLC(BlackLevel Correction)简单来说就是对全黑状态下对各通道不为0值的矫正(全黑状态下各通道值应该为0) 那么,要了解Black Leve Correction,首先 ...

最新文章

  1. AutoX江苏超级工厂首曝光!机械臂随处可见,车辆出厂就能完全无人驾驶
  2. 我的博客今天2岁104天了,我领取了…
  3. python有哪些作用-python能用来做什么?Python都有哪些逆天的功能
  4. SpringFlux入门(上篇)
  5. [css] 用css3实现文字发光的效果
  6. 华为政企云副总裁 年薪_看好“新基建”华为云战略投入政企市场
  7. leetcode - 494. 目标和
  8. vue用form上传图片_vuejs使用FormData,ajax上传图片文件
  9. Ubuntu Linux服务器安装JDK8
  10. Keras——用Keras搭建分类神经网络
  11. Asp.Net 2.0 发布问题(转)
  12. OpenGL入门教程
  13. GNU Radio系列教程(五):初级篇之GNU Radio GRC AM发射与接收
  14. 数据统计获取一年 有多少个自然周,起止时间,当前是第几个周
  15. 基于网易云音乐API的无线音箱
  16. java实现,获取今日0时0分0秒(最小时间)-获取今日23时59分59秒(最大时间) -线程安全方法
  17. 低分辨率人脸识别(LRFR)相关文章整理——(待更)
  18. imperva 默认策略添加例外
  19. 2021最新 RocketMQ面试题精选(附刷题小程序)
  20. 超详细图文保姆级教程:App开发新手入门(六)

热门文章

  1. wxWidgets:wxBannerWindow类用法
  2. boost::signals2::trackable相关的测试程序
  3. boost::process::std_err日历相关的测试程序
  4. boost::mp11::mp_append相关用法的测试程序
  5. boost::adjacency_list用法的测试程序
  6. boost::container模块实现默认初始化的程序
  7. boost:验证Boost的BOOST_CLASS_REQUIRE宏
  8. ITK:向转换工厂注册非默认转换
  9. DCMTK:读取DICOM图像,并使用设置创建PGM位图
  10. VTK:Rendering之SpecularSpheres