相机基础概念介绍

一.概念

Camera的成像原理

 景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了.

外部光线穿过镜头Lens 后, 经过 Color Filter 滤波后照射到CMOS Sensor 上, CMOS Sensor 将从 Lens 上传导过来的光线转换为电信号,再通过内部的AD模数转换,转换为数字信号。如果 Sensor 没有集成 DSP(数字信号处理),则通过 DVP(数字视频端口) 的方式传输到 基带Baseband上,此时的数据格式是 RAW DATA。如果集成 了 DSP, RAW DATA 数据经过 AWB、 则 Color Matrix、 Lens Shading、 Gamma、 Sharpness、 AE 和 De-noise 处理,后输出 YUV 或 RGB 格式的数据。
最后会由 CPU 送到 framebuffer 中进行显示,这样我们就看到 camera 拍摄到的影像了
 

第一层“LENS”

        CAMERA的成像关键在于SENSOR,为了扩大CCD的采光率必须扩大单一像素的受光面积,在提高采光率的同时会导致画面质量下降。LENS就是相当于在SENSOR前面增加一副眼镜,SENSOR的采光率不是由SENSOR的开口面积决定而是由LENS的表面积决定。

第二层“滤色片”

      目前分色滤色片有两种分色方法:

A. RGB原色分色法,就是三原色分色法,几乎所有的人类眼镜可以识别的颜色都可以通过R、G、B来组成,RGB就是通过这三个通道的颜色调节而成。

B. CMKY补色分色法,由四个通道的颜色配合而成,分别是青(C)、洋红(M)、黄(Y)、黑(K),但是调节出来的颜色不如RGB的颜色多。

第三层“感光层(SENSOR)”

      图像传感器(SENSOR)是一种半导体芯片,器表面包含有几十万到几百万的光电二极管。光电二极管收到光照射时,就会产生电荷。

目前SENSOR类型有两种:

CCD(Charge Couple Device),电荷耦合器件

CMOS(Complementary Metal Oxide Semiconductor),互补金属氧化物半导体

第四层“A/D转换器”

       A/D转换器即ADC(Analog DigitalConverter 模拟数字转换器),将模拟电信号转换为数字电信号。

第五层"数字信号处理芯片DSP"

       数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信息参数进行优化处理,并把处理后的信号通过USB等接口传到PC等设备。

DSP结构框架:

1)ISP(image signal processor)镜像信号处理器

2)JPEG encoder(JPEG图像解码器)

3)USB device controller(USB设备控制器)
 

二 . 图像格式(image Format/ Color space)

RGB:

YUV

NV21

NV12

Image Sensor类型

a)     YUV Sensor

YUV Sensor输出的Data格式为YUV,图像的效果处理使用Sensor内部的ISP,BB端接收YUV格式的data后只进行格式的转换,效果方面不进行处理,由于Sensor内部的ISP处理能力有限,且YUV Sensor的数据量比较大(YUV422的格式1个pixel2个byte),一般Size都比较小,常见的YUV sensor都是5M以下

b)    Raw Sensor

Raw Sensor输出的Data格式为Raw,图像的效果处理使用BB端的ISP,BB端接收Raw data后进行一系列的图像处理(OB,Shading,AWB,Gamma,EE,ANR等),效果方面由BB端控制,需要针对不同的模组进行效果调试,Raw sensor是目前的主流,数据量比YUV Sensor小(RAW10 格式的sensor 1个pixel 10个bit)使用平台ISP处理,能支持较大的size

说明:

1) TG(Timing Generate):从sensor获取数据,并送给ISP处理.

2) Platform Data Processor: 

包括平台在后端对图像数据进行resize、rotate、flip、format convert等处理.它可以同时有两个buffer输出.

   当normal preview时,port1输出给display,port2输出给face detection或者app preview callback

   当normal capture时,port1输出大图给jpeg encoder,port2输出小图给回显和thumbnail encode.

当video record时,port1输出给display,port2输出给video encoder.

二.缩写介绍

1. 莱卡

2. 大光圈: 镜头 进光量大  快速对焦 虚化背景

3.广角镜头 焦距 短于 标准镜头 视角大于标准镜头 

4 虚化 : 背景虚化,景深变浅

5 景深 : 照片中清晰距离范围

6. 焦距不变 光圈越大 景深越浅

1.长焦
焦距在60mm以上的摄像镜头。其具备类似望远镜的功能,3X及以上的模组都属于这个范围。

FOV

HDR:(高动态范围,High Dynamic Range)

指的是在拍摄的相同画面内,能正常显示画面中最亮和最暗物体的区间范围。动态范围越大,其能正常显示的过亮或者过暗的物体就越多,其显示细节层次也就越丰富,也就是所谓的HDR(High Dynamic Rang)

Camera场景功耗优化
小编曾经搞过一段时间的功耗,也被Camera场景下的功耗优化折磨过一段时间。

降低帧率:在一些特殊场景,对camera的本身要求不是很高时,可以选择降低帧率的方式来降低功耗。
关闭算法:同帧率一样,在一些对camera本身要求不是很高的场景下,可以关闭算法,以降低功耗。
降低MIPI速率。
人脸检测周期调整。

1.不可访问

https://source.android.com

https://developer.android.com

2.可以访问

https://source.android.google.cn

https://developer.android.google.cn

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

去掉乘法运算的加法移位神经网络架构

[CVPR 2020] AdderNet: Do We Really Need Multiplications in Deep Learning? 代码:https://github.com/huawei-noah/AdderNet/tree/master 核心贡献 用filter与input feature之间的L1-范数距离作为“卷积层”的输出为了提升模型性能,提出全精度梯度…

【六大排序详解】开篇 :插入排序 与 希尔排序

插入排序 与 希尔排序 六大排序之二 插入排序 与 希尔排序1 排序1.1排序的概念 2 插入排序2.1 插入排序原理2.2 排序步骤2.3 代码实现 3 希尔排序3.1 希尔排序原理3.2 排序步骤3.3 代码实现 4 时间复杂度分析 Thanks♪(・ω・)ノ下一篇文章见&am…

HIve安装配置(超详细)

文章目录 Hive安装配置一、Hive安装地址二、Hive安装部署1. 把 apache-hive-3.1.2-bin.tar.gz上传到Linux的/export/software目录下2. 解压apache-hive-3.1.2-bin.tar.gz到/export/servers/目录下面3. 修改apache-hive-3.1.2-bin.tar.gz的名称为hive4. 修改/etc/profile&#x…

【Axure高保真原型】中继器表格——移入显示详情卡片

今天和大家分享中继器表格——移入显示详情卡片的原型模板,鼠标移入员工姓名,会显示对应员工的详细卡片,那这个原型是用中继器制作的,所以使用也很方便,在中继器表格里维护对应的信息即可。预览时即可生成交互效果&…

MapReduce综合应用案例 — 电信数据清洗

文章目录 第1关:数据清洗 第1关:数据清洗 测试说明 平台会对你编写的代码进行测试: 评测之前先在命令行启动hadoop:start-all.sh; 点击测评后MySQL所需的数据库和表会自动创建好。 PhoneLog:封装对象 L…

用ThreeJS写了一个圣诞树

使用什么技术写 一开始我准备用htmlcss去写,后来感觉使用html和css写就太low了,没有一点点心意。就打算用three.js写一个3d版本的。 简单介绍一下threejs Three.js是一个基于原生WebGL封装运行的三维引擎,是最著名的3D WebGL JavaScriptTh…

SpringBoot3知识总结

SpringBoot3 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本(or later)SpringBoot3.0.5IDEA2022Java17Maven3.5 3. SpringBoot是什么 Spring Boot是Spring项目中的一个子工程,与我们…

第二百一十五回 如何创建单例模式

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"沉浸式状态样相关的内容,本章回中将介绍 如何创建单例模式.闲话休提,让我们一起Talk Flutter吧。 …

java实现局域网内视频投屏播放(三)投屏原理

常见投屏方案 常见的投屏方案主要有以下几种: DLNA DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。DLNA委员会已经于2017年1月5日正式解散,原因是旧的标准已经无法满足新设备的发展趋势,DLNA标准将来也不会再更新。但是…

【MySQL】数据库基础入门 安装MySQL

目录 介绍: 安装MySQL: 设置 root 账号密码 2.配置环境变量 2.找到 Path 系统变量, 点击 "编辑" 介绍: MySQL是一个开源的关系型数据库管理系统(RDBMS),它是一种用于管理和存储数据的软件。 安装MySQL: …

MyBatis进行CRUD中添加数据实现主键回填

文章目录 MyBatis进行CRUD中添加数据实现主键回填1、创建一个mybatis项目2、实现添加数据时主键回填在MyBatisTest.java中添加下面方法在UserMapper.java中添加对应的属性在UserMapper.xml中添加sql语句如下运行结果如下(取消commit方法注释后就不会出现Rolling back回滚进行真…

JRT打印元素绘制协议整合PDF

打印不光要能打印内部的单据,对于检验的打印还有外送回传的PDF报告也需要能够打印,所以需要把打印PDF文件整合进来,为此给打印元素绘制协议增加PDF类型的元素。 定义如下,由绘制协议按地址下载文件后和其他打印元素整合&#xff…

107基于matlab的模糊推理系统(ANFIS)的时间序列预测

基于matlab的模糊推理系统(ANFIS)的时间序列预测,输出训练集、测试集和预测数据结果,数据可更换自己的,程序已调通,可直接运行。 107 时间序列预测模糊推理系统 (xiaohongshu.com)

[ZJCTF 2019]NiZhuanSiWei1

[ZJCTF 2019]NiZhuanSiWei1 预测试 打开网页就是代码&#xff1a; <?php $text $_GET["text"]; $file $_GET["file"]; $password $_GET["password"]; if(isset($text)&&(file_get_contents($text,r)"welcome to the zjct…

【论文笔记】MCANet: Medical Image Segmentation withMulti-Scale Cross-Axis Attention

医疗图像分割任务中&#xff0c;捕获多尺度信息、构建长期依赖对分割结果有非常大的影响。该论文提出了 Multi-scale Cross-axis Attention&#xff08;MCA&#xff09;模块&#xff0c;融合了多尺度特征&#xff0c;并使用Attention提取全局上下文信息。 论文地址&#xff1a…

蔚来打败“蔚来”

作者 | 魏启扬 来源 | 洞见新研社 继2019年后&#xff0c;又一次深陷倒闭传闻的蔚来汽车&#xff0c;“在关键时刻找到钱了”。 12月18日&#xff0c;蔚来汽车宣布&#xff0c;与阿布扎比投资机构CYVN Holdings签订新一轮股份认购协议&#xff0c;CYVN Holdings将通过其附属公…

四色问题(图论)python

四色问题是一种著名的图论问题&#xff0c;它要求在给定的地图上给每个区域着一种颜色&#xff0c;使得相邻的区域颜色不同&#xff0c;而只使用四种颜色。这个问题可以通过图的着色来解决&#xff0c;其中图的节点表示区域&#xff0c;边表示相邻的关系。 在 Python 中&#…

excel导出,post还是get请求?

1&#xff0c;前提 今天在解决excel导出的bug时&#xff0c;因为导出接口查询参数较多&#xff0c;所以把原来的get请求接口修改为post请求 原代码&#xff1a; 修改后&#xff1a; 2&#xff0c;修改后 postman请求正常&#xff0c;然后让前端对接口进行同步修改&#xff0…

Clion自定义管理和配置软件构建过程的工具(代替CMake)构建程序

在公司由于需要x86环境和其他arm环境&#xff0c;同时需要使用公司自定义的mine_x86或者mine_orin对代码进行编译。 编译命令如下mine_x86 build -Dlocal1 -j8,为使用Clion对程序进行调试&#xff0c;需要对程序进行设置。方便调试代码时能够断点查看变量。尝试了很多次&#…