what is the BlackLevel?

暗电流来源1、raw8为例,单个pixel的有效值是0~255,但是实际AD芯片的精度可能无法将电压值很小的一部分转换出来,芯片厂会刻意添加一个固定的偏移量以达到阈值转换电压,使输出的pixel value在5(阈值电压,非固定)~255之间,目的是为了让暗部的细节完全保留,当然同时也会损失一些亮部细节。
            暗电流来源2、sensor的电路本身会存在暗电流,导致在没有光线照射的时候,像素单位也有一定的输出电压,暗电流这个东西跟 曝光时间和gain 都有关系,不同的位置也是不一样的。因此在gain增大的时候,电路的增益增大,暗电流也会增强并且sensor各处的暗电流会不均匀,因此很多ISP会选择在不同gain下减去不同的bl的值。

why does subtract the BlackLevel?

暗电流不是我们图像真实的光电转换信号,所以为了得到真实的图片,我们必须减去这个blackleve,虽然每个pixel的bl值不同,但是一般情况下我们认为基本相同,通过求平均的方法确定一个bl.

how to subtract the BlackLevel?

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

如果blacklevel计算错误在每个通道去扣除的时候会整体偏色,主要原因在于r,g,b各通道扣除blacklevel后比例发生变化。

比如下面的图:

顺便讲一下何为线性化:

细线为真实的r,b,g的曲线,而箭头为线性的曲线,可看出sensor在不同曝光下R,B,G的增加幅度并不大。

这样的结果就是造成局部偏色,如下:

那么如果解决这种问题呢?通过对sensor输出的真实曲线进行线性化拟合,分区域进行线性化拟合,使用lut进行查表输出。

ISP PIPLINE (一) BLC 以及 线性化的更多相关文章

  1. ISP PIPLINE (十四) AE(自动曝光)

    自动曝光可以可以通过调节 模拟增益,数字增益,曝光时间,光圈大小来调剂曝光. 曝光在ISP PIPLINE的位置. (先介绍一个额外的知识点: ) gamma compression(也就是de-ga ...

  2. ISP PIPLINE (六) 3A 综述

    前言: 上一篇文章: ISP PIPLINE (五) Denoise 下一篇文章: (1)3A定义包括什么 Iris:自动光圈,根据环境自动调节光圈. 既然讲到光圈,就先看一下光圈是什么,以及它如何影 ...

  3. ISP PIPLINE(零) 知识综述预热

    本文为camera isp pipline概述 ISP,即image signal processing.为图像成型做的处理工作.适应不同光学环境下图像的还原. pipline流程如下: 光通过LEN ...

  4. ISP PIPLINE (七) gamma

    what is the gamma? CCD.CMOS成像方式是通过像点中的"硅"感受光线的强弱而获得画面.而硅感光是物理成像,它真实地反应光线强度的变化,来多少就输出多少,因此它 ...

  5. ISP PIPLINE (十五) AF

    主流的AF: CDAF, PDAF, laser assist AF(这个只是辅助,在微距或者拍摄纹理不明显的场景下好用). AF的大致原理就是检测图像锐度或者等价于锐度的参数,推动马达实现合焦或者对 ...

  6. ISP PIPLINE (九_2) Denoise 之 time domain denoise

    时域噪声是空域噪声在时间上波动的一种描述. 1.多帧平均去噪法 1.1 理论: 1.2 帧数增加,噪声减小: 1.3 IIR滤波器的效果 2.1中的两种方法在拍摄视频的时候,如果有运动物体,则会出现拖 ...

  7. ISP PIPLINE (九_1) Denoise 之 space domain denoise

    1.空间域噪声类型 1.gauss+possion 2.椒盐噪声(dpc处理已经处理了) 去除空域噪声有哪些方法? 空域噪声一般的思想是对某pixel邻域的pixels进行加权平均. 比如 1.高斯降 ...

  8. ISP PIPLINE (十三) CSM/CSC(color space matrix/convert)

    1.RGB为何要转换为YCbCr,历史遗留问题! 一般一个技术如果为了保证原有的设备可以继续使用,就需要兼容以前的技术.黑白电视到彩色电视的进化就是转换为YCbCr的原因,同时YCbCr比RGB传输占 ...

  9. ISP PIPLINE (十二) Sharpening

    什么是sharpening? 不解释,从左到右为sharpen , 从右到左为blur. 简单理解为边缘增强,使得轮廓清晰.增强对比度. 如何进行sharpening? 下面是实际sharpen的过程 ...

随机推荐

  1. cf842C 树形dp+gcd函数

    树形dp用一下就好了 /* dp[i]表示不删节点的gcd值 每个结点开个vector用来存储删一个点之后的最大值 然后排序 去重 */ #include<bits/stdc++.h> # ...

  2. 批量杀掉多个pid文件中记录的pid进程, 并集成到shell脚本中

    head_files=`find ./fmsConf/ -name "*.pid"` for file in $head_files do cat $file | awk rm - ...

  3. GreenDao3.2的简单使用

    Android -- GreenDao3.2的简单使用http://www.cnblogs.com/wjtaigwh/p/6394288.html https://github.com/greenro ...

  4. Entity Framework介绍

    1.Entity Framework介绍 下图显示EF整体架构.现在我们来看看架构的各个组件: EDM(Entity Data Model): EDM由三个主要部分组成:概念模型,映射和存储模型.映射 ...

  5. How to trigger an Animation when TextBlock’s Text is changed during a DataBinding

    原文:http://michaelscherf.wordpress.com/2009/02/23/how-to-trigger-an-animation-when-textblocks-text-is ...

  6. [LeetCode] Best Time to Buy and Sell Stock 6道合集【DP】

    1. Best Time to Buy and Sell Stock 2. Best Time to Buy and Sell Stock II 3. Best Time to Buy and Sel ...

  7. 关于tornado中session的总结

    #!/usr/bin/env python# _*_ coding:utf-8 _*_ import tornado.webimport tornado.ioloop container = {} # ...

  8. php把一些预定义的 HTML 实体转换为字符。

    htmlspecialchars_decode() echo htmlspecialchars_decode($condition,ENT_QUOTES) '  会被转成 单引号

  9. Nginx动静分离

    动静分离 Nginx动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路. ...

  10. python基础——list和tuple(列表和元组)

    1.list的定义,插入insert,append,按位置索引. >>> name = ['Macal','lily','lucy','bob']  --初始化>>> ...