手机相机系统介绍

news2024/11/25 4:49:15

目录

一张照片是如何生成的?

相机的成像原理

相机硬件

颜色四要素

相机硬件三大块

模组结构

镜头

镜头光路

镜头常见参数

镜头-FOV&EFL

镜头-焦距

镜头-光圈

图像传感器

图像传感器-像素-底

RGB排布

图像传感器-Pattern & PDAF

Sensor

CMOS sensor

CMOS内部节点

CMOS sensor Microlens

人眼响应曲线

Color Filter Spectral Response

RGB Response

IR滤光片

Sensor曝光-Global Shutter

Sensor曝光-Rolling Shutter

Flicker&banding

Sensor时序

PDAF

Sensor Remosaic

硬件系统-SoC

软件/算法/tuning系统-总体流程

相机数据流

软件系统-3A算法

ISP算法

ISP算法-DPC(Dead point correction)

ISP算法-BLC(black level correction)

ISP算法-Denoise

ISP算法-LSC(lens shading correction)

ISP算法-Demosaic

3A算法-AF

3A算法-CDAF(contrast detection AF)

3A算法-PDAF(phase detection AF)

3A算法-Laser AF

3A算法-AE

3A算法-AWB

IFE

BPS

IPE

BPC and PDPC

ABF

GTM

LTM

HNR

ANR

Temporal Filter

Color temperature

Color gamut

2D-LUT

ASF

软件系统-图像后处理算法

Android camera系统软件栈

camera软件流程几条主线

整个拍照流程

色彩空间

色彩空间与编码格式

色彩格式与空间-Raw

色彩格式与空间-RGB

色彩格式与空间-YUV


一张照片是如何生成的?

可以思考一下这个问题,平时我们用手机拍摄一张照片,那么这个照片是怎么样生成的呢?

相机的成像原理

相机硬件

颜色四要素

  1. 光源
  2. 物体
  3. 眼睛
  4. 大脑

颜色是光作用于人眼之后在人脑中形成的一种视觉感觉。

相机硬件三大块

模组结构

镜头

镜头光路

镜头常见参数

FOV:Field of View
EFL:有效焦距,透镜系统中心到焦点之间距离
等效焦距:
等效135相机(36mmx24mm)的焦距。
EFL * 43.2666 / sensor有效区域对角线长度

镜头-FOV&EFL

镜头-焦距

镜头-光圈

图像传感器

图像传感器-像素-底

RGB排布

图像传感器-Pattern & PDAF

Sensor

CMOS sensor

CMOS内部节点

CMOS sensor Microlens

人眼响应曲线

Color Filter Spectral Response

RGB Response

IR滤光片

Sensor曝光-Global Shutter

Sensor曝光-Rolling Shutter

Flicker&banding

Sensor时序

PDAF

相对位置关系如下所示:

Sensor Remosaic

硬件系统-SoC

软件/算法/tuning系统-总体流程

相机数据流

软件系统-3A算法

ISP算法

ISP算法-DPC(Dead point correction)

ISP算法-BLC(black level correction)

ISP算法-Denoise

ISP算法-LSC(lens shading correction)

ISP算法-Demosaic

3A算法-AF

3A算法-CDAF(contrast detection AF)

3A算法-PDAF(phase detection AF)

3A算法-Laser AF

3A算法-AE

3A算法-AWB

IFE

BPS

IPE

BPC and PDPC

ABF

GTM

LTM

HNR

ANR

Temporal Filter

Color temperature

Color gamut

2D-LUT

ASF

软件系统-图像后处理算法

Android camera系统软件栈

  1. Application层,也就是应用层,不仅包括通话短信联系人这种系统级的应用,还包括用户自己安装的一些第三方应用
  2. Framework层,这一层大部分用Java写的,包括系统服务和四大组件
  3. Library层,这一层大部分都是C/C++写的,主要是虚拟机,还有一些三方库比如SQLite, WebKit
  4. HAL层,硬件抽象层
  5. Linux内核层,包含Linux内核和一些驱动,比如说蓝牙驱动,Camera驱动等等,这个Binder驱动也是在这一层

官方链接如下所示:

https://developer.android.com/guide/platform

  1. Camera App进程,应用层处于整个框架的顶端,承担着于用户直接进行交互的责
  2. Camera Service进程,接收来自App的图像请求,调用HIDL跨进程接口将请求再次下发到Provider中,并且等待结果的回传,进而将结果上传至App中
  3. Camera Provider进程,接受Camera Service的请求,通过平台通过的HAL代码处理请求,并返回给Camera Service
  4. CamX-CHI(Camera HAL),该部分是高通对谷歌Camera HAL3接口的实现,以so库的形式被加载至Camera Provider中进行函数调用
  5. Camera Driver,高通对相机驱动部分进行了实现,利用了V4L2框架的可扩展特性,设计出了一套独特的KMD框架

camera软件流程几条主线

整个拍照流程

色彩空间

色彩空间与编码格式

色彩格式与空间-Raw

色彩格式与空间-RGB

色彩格式与空间-YUV

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

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

相关文章

Python中的单元测试与代码覆盖率:实践与问题解决

当我们开发软件时,单元测试和代码覆盖率是非常重要的工具。它们可以帮助我们验证代码的正确性,并确保代码的质量和稳定性。在Python中,我们有很多强大的工具和库来进行单元测试和代码覆盖率分析。本文将向你分享在Python中进行单元测试和代码…

C++单例模式各种实现方式,终极版即简单又线程安全,无脑用就完了

📋 前言 🖱 博客主页:在下马农的碎碎念🤗 欢迎关注🔎点赞👍收藏⭐️留言📝✍ 本文由在下马农原创,首发于CSDN📆 首发时间:2023/8/25📅 最近更新时…

学生宿舍管理系统(前端java+后端Vue)实现-含前端与后端程序

界面介绍 登录 ###宿舍管理 ###菜单管理 ###角色管理 ###班级管理

编程每日一练(多语言实现):判断偶数

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现 一、实例描述 利用单条件单分支选择语句判断输入的一个整数 是否是偶数。 运行程序,输入一个 整数18, 然后按回车键,将提示该数字是偶数…

性能压力测试的定义及步骤是什么

在今天的数字化时代,软件系统的性能和稳定性对于企业的成功至关重要。为了确保软件在高负载和压力情况下的正常运行,性能压力测试成为了不可或缺的环节。本文将介绍性能压力测试的定义、步骤。 一、性能压力测试的定义和目标 性能压力测试是通过模拟实际…

Spring整合RabbitMQ——生产者

添加依赖坐标,在producer和consumer模块的pom文件中各复制一份。 配置producer的配置文件 配置producer的xml配置文件 编写测试类发送消息

[GXYCTF2019]BabySQli 1

进去就是两个登录框 先试了试adminadmin,然后显示wrong pass 试了下万能密码 1 or 11 查看下页面源代码 放到瑞士军刀解密一下 用fuzz字典跑一下 会发现order被过滤了 所以order用Order来过滤 admin Order by 3-- 得到字段数为3 然后判断一下注入点 判断得到这题…

ESD门禁闸机的用途及优点

ESD门禁闸机是一种专门用于防止静电干扰的门禁设备,其主要用途包括: 防止静电干扰:ESD门禁闸机可以有效地防止静电干扰,保护电子元器件、电路板等敏感设备不受静电破坏。 控制人员进出:ESD门禁闸机可以通过身份验证等…

后端配置(宝塔):处理php禁用函数

一、找到php的文件路径 在软件商店中,找到已安装文件,选择需要更改的php文件,选择“设置” 二、选择需要取消禁用的文件进行删除 扩展:可解决 The Process class relies on proc_open, which is not available on your PHP i nst…

deepin DTK(Development ToolKit)已正式适配 Qt6!

导读近日,深度 deepin 宣布 deepin DTK(Development ToolKit)已正式适配 Qt6 (6.4.2),实现全面升级。 DTK 作为 deepin 基于 Qt 开发的一整套简单且实用的通用开发框架,处于 deepin 操作系统中的核心位置,此…

基于YOLOv8模型的空中视角下车辆检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的空中视角下车辆检测系统可用于日常生活中检测与定位bus、cycle、truck、van、vehicle目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统…

[AFCTF 2018]你能看出这是什么加密么

最开始是我对rsa的小小的理解 rsa也就是非对称加密算法,拥有公开的加密密钥和解密密钥,这也是我们写脚本的基础 选取素数p和q,计算乘积npq,以及(n)(p-1)(q-1)。(欧拉函数) 选择一个e值作为密钥…

组合数4 高精度计算组合数

一般来说需要高精乘和高精除&#xff0c;但化简为质因子形式后只用高精乘。 一个阶乘n中因子p的个数&#xff1a; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int&…

开源一个基于的rt-thread系统的烟感采集系统

一、硬件 CPU&#xff1a;stm32f401 NBIOT模块&#xff1a;移远BC26 存储&#xff1a;W25Q128JVSIQTR 扩展&#xff1a;HC595输出&#xff0c;165输入 二、软件应用 FAL&#xff1a;分区 littlefs: 应用存储用的文件系统 EashFlash&#xff1a;日记存储、系统变量存储 kawaii_…

AP2400 DC-DC降压恒流驱动器 汽车摩托LED大灯电源驱动 全亮半亮瀑闪三功能循环

产品特点 宽输入电压范围&#xff1a;5V&#xff5e;100V 可设定电流范围&#xff1a;10mA&#xff5e;6000mA 固定工作频率&#xff1a;150KHZ 内置抖频电路&#xff0c;降低对其他设备的 EMI干扰 平均电流模式采样&#xff0c;恒流精度更高 0-100%占空比控制&#xff0…

邮件功能-python中的SMTP协议邮件发送

文章目录 一、SMTP协议邮件准备二、smtplib模块1.使用smtplib封装一个邮件类2.发送邮件 补充 一、SMTP协议邮件准备 需要一个smtp服务器 二、smtplib模块 smtplib模块是python自带的模块 1.使用smtplib封装一个邮件类 import smtplib import logging # 加入日志&#xff…

向着趋势奔跑:银行客户中心转型,重构商业模式是关键

随着金融市场化改革的推进 国内银行同业间的竞争日趋激烈 各商业银行在全新的监管要求和市场环境下 纷纷开始推行“以客户为中心”的经营新模式 迅速提升核心竞争力 然而&#xff01;&#xff01;&#xff01; 奇怪的事情发生了 &#x1f447; &#x1f447; &#x1f44…

DP读书:《openEuler操作系统》(三)操作系统的分类

操作系统的发展趋势 微内核库操作系统外内核多内核离散化内核openEuler操作系统简介 操作系统处于应用层与硬件层之间&#xff0c;上看应用、下看硬件。 应用层上&#xff0c;无人驾驶、工业驾驶等场景中&#xff0c;操作系统的可靠性被放在更重要的位置&#xff0c;微内核更受…

即刻报名!飞桨黑客马拉松第五期开启,创新挑战等你来!

新赛制&#xff0c;新玩法 飞桨黑客马拉松第五期 全新挑战&#xff0c;重磅回归&#xff01; 开源贡献个人挑战赛、大模型应用与创意赛、飞桨护航计划集训营 三大赛道&#xff0c;邀你挑战&#xff01; 多难度梯度开源任务、大模型应用创意挑战、导师1V1指导开发实践 硬核较量一…

SW - 清除零件实体表面上无用的凸起

文章目录 SW - 清除零件实体表面上无用的凸起概述笔记END SW - 清除零件实体表面上无用的凸起 概述 给顶部相机做了一个散射罩, 防止灯光太亮和不均匀. 3D打印的版本. 回来试验后, 要改进一下. 改进完了之后, 发现零件表面有多余的凸起, 看了好多资料, 没看到适用的方法. 如…