关于sensor处理ob问题,及平台后期处理问题。

2024-02-24 20:58

本文主要是介绍关于sensor处理ob问题,及平台后期处理问题。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    当我们在平台上调试或者直接调试一些YUV产品时候,都会调试一个模块。BLC(black level correction)或者我们俗称的矫正暗电流(OB)。关于OB产生的原因,我这里只是简单的介绍一下。详细的自己可以在网上查找。

    暗电流产生的原因:我们知道CMOS芯片通过光电二极管,把光信号量化成模拟信号,模拟信号通过A/D转换成数值信号,最后经过一些VFE处理流程得到我们照片。暗电流主要产生在光信号转化成模拟信号的过程。光电二极管受到一些干扰,或者其他一些原因,导致全黑的状态下输出的量化值并不是0,这种现象一般是避免不了的。所以正常输出一般会把这个OB值减去,方便后期的处理。有些芯片会在内部处理掉这个值。而有些芯片不会处理这个值,然后期ISP来处理。当OB异常时候经常导致一些暗态问题,如常见的暗态偏绿。

    今天我们主要探究的是处理这个OB值。

    第一芯片自身出厂前处理,芯片厂商一般会有专门统计BL值的寄存器,通过多帧统计,然后对这个值减去。比如说一个输出量化为8bit的sensor其量化的范围为(0-255)。当前统计的OB值为16那样的话。那么内部自实现会在当前的量化值上去减去OB值。那么sensor此时输出的值会被量化在(0-239),那么最高量化为239。这样作为8bit数据输出有问题。而且高亮达不到我们芯片内部ADCrange的最大值。这样高亮的地方就无法饱和,经常表现的就是高亮处发粉问题。通常情况芯片内部会在量化后(0-239)统一乘以一个系数,通常是glb_gain。这个系数k=255/239。这样就能满足量化了。所以芯片出厂OB为0的厂商一般会这样做。

    对于那些不为0的芯片,如常接触的OV的64。就是他们芯片并不去这样处理,等后期ISP统一处理。一般OB模块在ISP流的最前面。通过验证大部分的平台(高通 MTK等),基本处理方法如上芯片内部处理一样,然量化后的值能满足对应bit输出。



人生除了眼前的苟且,还有远方和camera架构。

这篇关于关于sensor处理ob问题,及平台后期处理问题。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743351

相关文章

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用