AE (1)_软件、硬件、驱动控制

#灵感# AE是个值得推敲再推敲的模块,有意思。

目录

相关的硬件-光圈:

相关的软件-曝光-ISO:

ISP中的sensor AE 组成:

sensor AE的流程及控制:

相关的硬件-光圈:

光圈(F-Number)光圈(相对孔径),光圈是镜头里控制光线进量的装置。

F=f/D,f为焦距,D为通光孔直径。焦距相等, F 越小表示通光孔径越大。

F数以 √2 倍增长,F数每增加一档,通光量减少一半。

光圈除了控制光线进量外,还与景深相关。在其他因素相同的条件下,光圈越小景深越大,光圈越大,景深就越小。

光圈变化对亮度影响:

相关的软件-曝光-ISO:

sensor的曝光时间(快门时间)指的是sensor的感光时间。曝光(快门)时间越长,图像就越亮。

当延长快门时间,仍然达不到期望的亮度,就需要调节sensor的感光度(ISO)。

CMOS sensor的感光度就是它的增益(gain)。增益是用模拟或数字的方法进行放大,不可避免的会放大噪声。ISO 用100、200等表示,通常100=1倍的增益,200表示2倍的增益。

光圈、曝光(快门)、ISO 的组合结果是乘积倍数关系。达到同样的亮度,光圈小一倍,曝光时间就需要增加一倍,或者 ISO增加一倍。

扩展阅读链接:如何理解 ISO、快门、光圈、曝光这几个概念? - 知乎 (zhihu.com)

ISP中的sensor AE 组成:

 因为多数中低端项目(手机、车载、监控等)的光圈是固定的,所以想调整拍摄的画面亮度,只能依赖曝光时间和增益的配合。

sensor 的AE (auto exposure)调节分为两部分:

AEC(auto exposure control) 调节曝光时间;

AGC(auto gain control) 调节增益值。

sensor本身没有 auto功能的,需要通过后端平台实现 。在整个 AEC/AGC过程中,以图像过暗的情况为例,调整策略为曝光时间优先(此时增益关闭),曝光时间已经最长无法继续调整时,开启并调整增益。

需要明确指出的是,仅曝光时间加大,噪声并不会明显增加,有助于提升图像信噪比。而增益开启,将直接导致平均噪声呈倍数放大;

调整AGC时,一般情况下 优先调节模拟gain值 ,模拟 gain调节到上限时, 如果要继续增大图像亮度,可以调节数字 gain值。

以上段落文字参考:

自动曝光AEC和自动增益AGC控制 - 简书 (jianshu.com)

sensor AE的流程及控制:

AE分为算法模块和统计模块,统计模块是和硬件相关的,包含在 ISP pipeline 里,这部分通常需要强大的算力,吐出亮度直方图,亮度区域统计值,当前亮度,环境亮度。算法模块,即我们需要调试的模块,这部分的参数由isp调试传入,依据前面的AE统计值进行运算后决定AE行为。如果需要进行AE收敛,则设置sensor内部shutter 和gain 或者ISP gain。

AE 算法模块计算出合适的shutter和gain 通过驱动接口,下到sensor寄存器中。

驱动中AE的控制:

1>、首先配置曝光时间

根据 sensor datasheet 配置好最大最小积分时间(integration_time,以行为单位,通常也称为曝光行,minLineCnt、maxLineCnt, 或写作exposure_line等)。可以从sensor手册获得此值,以及生效的寄存器地址。

AE 算法模块计算出合适的shutter,在寄存器地址,写入index 对应的exposure time值。

范围:min_integration_time(有时候=1) <= integration_times <= VTS - frame_offset(frame_offset是指最小的dummy_line,或者写为VB_min.[dummy_line=用来填充V_Blank的行,这个也可以从sensor datesheet中获得])我恨!为啥不统一命名。

VTS = frame_length = V_Size + V_Blank  // 帧长; 

fps = pclk/(VTS * HTS) = pclk/(frame_length*line_length) = 1 / (frame_length * line_time)

不占用曝光时间,即可以通过调节V_Blank,调节帧长,从而改变帧率,但不会改变画面的亮度(曝光)。一般情况下,帧率可以由sensor供应商的FAE 提供配置。

2>、配置sensor 模拟增益、数字增益

一般我们只需配置 sensor 模拟增益(maxAnalogGain、minAnalogGain可以查sensor datasheet 或者找FAE 获得此值),不用特别配置数字增益。(很多时候在暗环境为了达到合适的信噪比,sensor 的模拟增益并不会用到最大值,所以也用不上数字增益。)但有时候会用到isp 数字增益,它是 AE 算法控制的,不用在 sensor 驱动中去配置。

sensor 模拟增益的控制,一种是写入 sensor Again 寄存器的值。sensor datasheet 会有一个 Again_table,配置好平台与 Sensor 的匹配精度(几倍增益对应写入哪个寄存器)。

AE 算法模块计算出合适的gain后 ,驱动通过查 Again_table 写入寄存器regValTable 生效。

3>、验证AE 生效:

通过调试工具手动写入积分时间、模拟增益,观察画面亮度变化。并通过读 sensor 相应的寄存器地址,根据读出的值来判断曝光数据是否正确写入,以此来检查驱动中的相关配置是否正确。

生效帧:曝光时间及增益若在第 N 帧写入,则第 N+2 帧生效。

原文链接:https://blog.csdn.net/qq_25109183/article/details/107179744

此段参考:​​​​​​【精选】Sensor 调试流程_sensor模拟增益和数字增益-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157988.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI chatGPT又又又出bug!强制开通plus

自奥特曼宣布暂时停止plus用户的注册后&#xff0c;plus账号的价格水涨船高&#xff01; 现在教大家如何强制开通plus&#xff0c;体验gpt4等各种功能&#xff01; 如图&#xff1a; 打开官网进入后&#xff0c;按F12打开控制台&#xff0c;在控制台上输入代码 即可强制跳转至付…

实时人眼追踪、内置3D引擎,联想ThinkVision裸眼3D显示器创新四大应用场景

11月17日&#xff0c;在以“因思而变 智领未来”为主题的Think Centre和ThinkVision 20周年纪念活动上&#xff0c;联想正式发布了业内首款2D/3D 可切换裸眼3D显示器——联想ThinkVision 27 3D。该产品首次将裸眼2D、3D可切换技术应用在显示器领域&#xff0c;并拓展了3D技术多…

自学人工智能编程难吗?

在科技飞速发展的时代&#xff0c;人工智能编程已经成为了一个热门的技能。随着诸如机器学习、深度学习等技术的广泛应用&#xff0c;掌握人工智能编程已经成为了一种趋势。那么&#xff0c;自学人工智能编程难吗&#xff1f;答案是&#xff1a;难&#xff0c;但值得&#xff0…

Shopee活动名称怎么填写好?Shopee活动名称设置注意事项——站斧浏览器

虾皮活动名称的设定不仅是一个技巧性的问题&#xff0c;更是一门艺术。通过合理的活动名称设计&#xff0c;可以吸引更多的消费者参与活动&#xff0c;增加活动的曝光度和影响力。 shopee活动名称怎么填写好 简洁明了&#xff1a;活动名称应该尽量简洁明了&#xff0c;能够一…

虾皮产品标题生成器:为您的商品打造吸引眼球的标题

在电商平台上&#xff0c;一个引人注目的商品标题是吸引潜在买家点击进入您的产品页面的第一步。然而&#xff0c;很多商家在创建商品标题时遇到困难&#xff0c;不知道如何吸引更多的目标受众。幸运的是&#xff0c;现在有一个名为知虾工具的强大工具&#xff0c;可以帮助商家…

腾讯云服务器新用户购买优惠多少钱?腾讯云新用户优惠信息来了!

腾讯云服务器新用户购买优惠多少钱&#xff1f;这是每个新手上路的人都会问到的问题。 如果你是一个刚刚接触云服务器的小白用户&#xff0c;不知道该如何选择合适的云服务器&#xff0c;那么你就来对了地方。今天我们将向你介绍腾讯云服务器新用户购买优惠活动&#xff0c;让…

Elasticsearch备份与还原:使用elasticdump

在数据管理的世界里&#xff0c;备份和还原数据是重中之重的日常工作&#xff0c;特别是对于Elasticsearch这样的强大而复杂的搜索引擎。备份不仅可以用于灾难恢复&#xff0c;还可以在数据迁移、测试或者升级等场景中发挥重要作用。 在本博客中&#xff0c;我们将会重点介绍如…

lvgl 画好一个圆弧arc 要了解的相关知识

目录 一、概述 1. css盒子模型示意图2. 圆弧的理解对象3. lvgl 版本 二、功能细节 1. 圆弧的角度 1.1 圆弧的0度在哪里&#xff1f;1.2 设置圆弧角度的1.3 设置圆弧的背景角度 2. 圆弧的半径3. 圆弧的圆角 3.1 设置圆弧的圆角 效果如下&#xff1a; 4. 圆弧的宽度 4.1圆弧主体…

微服务学习 | Eureka注册中心

微服务远程调用 在order-service的OrderApplication中注册RestTemplate 在查询订单信息时&#xff0c;需要同时返回订单用户的信息&#xff0c;但是由于微服务的关系&#xff0c;用户信息需要在用户的微服务中去查询&#xff0c;故需要用到上面的RestTemplate来让订单的这个微…

如何选择合适的数据库管理工具?Navicat Or DBeaver

写在前面 在阅读本文之前&#xff0c;糖糖给大家准备了Navicat和DBeaver安装包&#xff0c;在公众号内回复“Navicat”或“DBeaver”或"数据库管理工具"来下载。 引言 对于测试而言&#xff0c;在实际工作中往往会用到数据库&#xff0c;那么选择使用哪种类型的数…

基于SSM的大学餐厅菜品推荐和点评系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)

&#x1f680;你的旅程将在这里启航&#xff01;本专栏所有题目均包含优质解题思路&#xff0c;高质量解题代码&#xff0c;详细代码讲解&#xff0c;助你深入学习&#xff0c;高分通过&#xff01; 文章目录 【华为OD机试高分必刷题目】神奇的卡片&#xff08;C等差数列实现&a…

虾皮插件能做数据分析的-知虾数据分析插件Shopee大数据分析平台

在如今的电商行业中&#xff0c;数据分析已经成为了一项至关重要的任务。通过对大量数据的收集和分析&#xff0c;企业可以更好地了解市场趋势、了解竞争对手、优化产品和店铺运营等。然而&#xff0c;要想做好数据分析&#xff0c;一个好用的工具是必不可少的。 虾皮插件——知…

ke11介绍本地,会话存储

代码顺序: 1.设置input,捕获input如果有多个用属性选择符例如 input[typefile]点击事件.向我们的本地存储设置键值对 2.在点击事件外面设置本地存储表示初始化的值.点击上面的事件才能修改我们想修改的值 会话(session)浏览a数据可以写到本地硬盘,关闭页面数据就没了 本地(…

2.Pandas数据预处理

2.1 数据清洗 以titanic数据为例。 df pd.read_csv(titanic.csv) 2.1.1 缺失值 &#xff08;1&#xff09;缺失判断 df.isnull() &#xff08;2&#xff09;缺失统计 # 列缺失统计 df.isnull().sum(axis0) # 行缺失统计 df.isnull().sum(axis1) # 统计缺失率 df.isnu…

CC攻击的前身

CC攻击的前身是一个名为Fatboy的攻击程序&#xff0c;而之所以后来人们会称之为CC&#xff0c;是因为DDoS攻击发展的初期阶段&#xff0c;绝大部分DDoS攻击都能被业界熟知的“黑洞”&#xff08;Collapsar,一种安全防护产品&#xff09;所抵挡&#xff0c;CC攻击的诞生就是为了…

会说话,情商高:职场人士必看的情商口才提升攻略

在职场上&#xff0c;口才和情商是非常重要的软实力。能言善辩&#xff0c;与人交流得心应手&#xff0c;往往可以帮助我们更好地完成工作任务&#xff0c;并获得更多的机会和提升。那么&#xff0c;如何才能培养出好的口才和高情商呢?本文将从以下几个方面给大家提供一些建议…

JMeter-BeanShell预处理程序和BeanShell后置处理程序的应用

一、什么是BeanShell&#xff1f; BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器&#xff0c;JMeter性能测试工具也充分接纳了BeanShell解释器&#xff0c;封装成了可配置的BeanShell前置和后置处理器&#xff0c;分别是 BeanShell Pre…

Kafka 集群实现数据同步

Kafka 介绍 Kafka 是一个高吞吐的分布式消息系统&#xff0c;不但像传统消息队列&#xff08;RaabitMQ、RocketMQ等&#xff09;那样能够【异步处理、流量消峰、服务解耦】 还能够把消息持久化到磁盘上&#xff0c;用于批量消费。除此之外由于 Kafka 被设计成分布式系统&…

后端接口性能优化分析-多线程优化

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…