Camera 基本工作原理

news/2023/12/1 7:28:21

一、Camera 工作原理介绍

1. 结构 .

一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC 集成 了 DSP,有的没有集成,但也需要外部 DSP 处理。细分的来讲,camera 设备由下边几部 分构成:

1) lens(镜头) 一般 camera 的镜头结构是有几片透镜组成,分有塑胶透镜(Plastic)和玻璃透 镜(Glass) ,通常镜头结构有:1P,2P,1G1P,1G3P,2G2P,4G 等。

2) sensor(图像传感器) Senor 是一种半导体芯片,有两种类型:CCD 和 CMOS。Sensor 将从 lens 上传导过来的光线转换为电信号, 再通过内部的 AD 转换为数字信号。 由于 Sensor 的每个 pixel 只能感光 R 光或者 B 光或者 G 光, 因此每个像素此时存贮的是单色的, 我们称之为 RAW DATA 数据。 要想将每个像素的 RAW DATA 数据还原成三基色,就需要 ISP 来处理。

3)ISP(图像信号处理) 主要完成数字图像的处理工作,把 sensor 采集到的原始数据转换为显示支持 的格式。

4)CAMIF(camera 控制器) 芯片上的 camera 接口电路,对设备进行控制,接收 sensor 采集的数据交给 CPU,并送入 LCD 进行显示。

2. 工作原理 .
外部光线穿过 lens 后, 经过 color filter 滤波后照射到 Sensor 面上, 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 拍摄到的景象 了。

3. YUV 与 YCbCr .
YUV 和 RGB 一样,是色彩空间中常用的色彩模型之一,两者可以相互转换。YUV 中 得 Y 表示亮度,U 和 V 表示色度。与 RGB 相比,它的优点在于占用更少的空间。 YCbCr 则是在世界数字组织视频标准研制过程中作为 ITU - R BT601 建议的一部分, 其实是 YUV 经过缩放和偏移的翻版。 其中 Y 与 YUV 中的 Y 含义一致, Cb , Cr 同样都指色 彩, 只是在表示方法上不同而已。在 YUV 家族中, YCbCr 是在计算机系统中应用最多的成 员, 其应用领域很广泛,JPEG、 MPEG 均采用此格式。 一般人们所讲的 YUV 大多是指 YCbCr。 YCbCr 有许多取样格式, 如 4∶4∶4 , 4∶2∶2 , 4∶1∶1 和 4∶2∶0。


http://www.niftyadmin.cn/n/2145024.html

相关文章

php 快速查找 算法,PHP 查找算法

header("content-type:text/html;charsetutf-8");//二分查找法 (排序好的数组)function binSearch($arr,$search){$heightcount($arr)-1;$low0;while($low<$height){$midfloor(($low$height)/2);//获取中间数if($arr[$mid]$search){return $mid;//返回}elseif($ar…

数据压缩、数据倾斜join操作

1、数据压缩发生阶段 端操作压缩数据源》数据传输数据压缩mappermap端输出压缩》数据传输数据压缩reducerreduce端输出压缩》数据传输数据压缩结果数据设置map端输出压缩&#xff1a; 1&#xff09;开启压缩 conf.setBoolean //开启map端输出压缩 conf.setBoolean("mapr…

matlab 系统时域响应,动力学系统时域响应计算的六种方法Matlab源程序(Newmark,Houbolt法,中心差分法)...

Newmark法Matlab源程序function [acc,vel,dsp]Newmark_2(kk,cc,mm,fd,nt,dt,q0,dq0)%输入参数% kk------刚度矩阵% mm------质量矩阵% cc------阻尼矩阵% q0------初始位移% dq0------初始速度% dt------时间步长% nt------总的计算步数&#xff0c;等于结束时间除以dt%返回值%…

一个php类拆分到两个文件,如何将一个word文档拆分成多个文档

方法&#xff1a;1、打开word文档&#xff0c;选中“视图”-“大纲视图”&#xff1b;2、将需要拆分的标题选中设置级别&#xff1b;3、分别点击各部分前面的“加号”&#xff1b;4、点击“显示文档”&#xff0c;显示出主控文档选项&#xff1b;5、点击主控文档选项中的“创建…

php fetch get区别,Ajax 和 fetch是什么?二者有什么区别?

本文给大家介绍Ajax 和 fetch是什么&#xff1f;Ajax 和 fetch之间的区别&#xff1f;&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你们有所帮助。回顾XMLHttpRequest传统的Ajax指的是XMLHttpRequest(XHR)&#xff1a;var xhr new XM…

php当前时间以前的时间函数,php记录前几分钟时间函数

/*** [time_format description]* param [type] $time [发布时间]* return [type] [处理时间]*/function time_format ($time) {//当前时间$now time();//今天零时零分零秒$today strtotime(date(Y-m-d, $now));//时间差$diff $now - $time;$str ;switch ($time) {c…

怎样将优酷网站下载的视频KUX转MP4格式

在休息之余&#xff0c;相信大多数人都会拿手机看电视剧听音乐之类的&#xff0c;最近拍了很多的新片子&#xff1a;《毒液&#xff1a;致命守护者》、《无名之辈》、《亡命救赎》《影》等等优质电影&#xff0c;但是很多的电影都只能在电影院观看的&#xff0c;如果不去电影院…

php phalcon 中文手册,php的phalcon框架不能验证中文字符

直接在php中验证可以验证$value 电商;preg_match(/^[a-zA-Z\x{4e00}-\x{9fa5}][a-zA-Z_\-\x{4e00}-\x{9fa5}]*$/u,$value,$m)在phalcon的控制器的方法中就不能验证&#xff0c;public function registerAction(){if($this->request->isPost()){$myValidator new MyVali…

这些资源网站为什么能获得5万知乎大佬推荐,而我错失了什么吗?

现在很多朋友可能只要是一听到资源网站&#xff0c;想必就会好奇是什么网站&#xff0c;用用看是不是由说的那么厉害&#xff01;其实资源网站给我们的诱惑是在是太大了&#xff0c;其主要原因是可以帮助我们搜索到很多意想不到的资源&#xff01; 为了回应大家的需求&#xff…

oracle磁盘使用率很高,Oracle数据库ASM磁盘组+ASM2_ARCH使用率高

查看进程ps -ef |grep pmon# su - oracle[YOU HAVE NEW MAIL]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.4.0 - Production on Mon Feb 9 16:30:23 2015Copyright (c) 1982, 2007, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Rel…

BigDecimal遇到的问题,大伙也说说

一&#xff1a;相除精度丢失的问题  BigDecimal的api除法相对加减乘要实现的复杂多了&#xff0c;只介绍常用的我遇到的问题&#xff1a; 问题&#xff1a;两数相除&#xff0c;如果9/33整除没问题&#xff0c;但是10/30.33333333......除不尽&#xff0c;这里不能让电脑一直…

[学习笔记]边分治

基于边的一种分治。统计过中心边的所有路径 可以类比点分治学习 构造&#xff1a; 每次找中心边&#xff08;使得两侧的sz的最大值最小&#xff09;&#xff0c;然后递归下去 菊花图会卡成链&#xff0c;构造变成O(n^2)。 其实复杂度和度数相关 考虑转化成二叉树 三度化 法一&a…

oracle 添加调试信息,目标文件和可执行文件中的调试信息

目标文件和可执行文件中的调试信息通常&#xff0c;您希望使用 -g 选项来编译源文件&#xff0c;以使程序的可调试性更好。-g 选项会使编译器将调试信息(采用 stabs 或 Dwarf 格式)与程序的代码和数据一起记录到目标文件中。需要调试信息时&#xff0c;dbx 会根据需要解析和装入…

Java的新项目学成在线笔记-day6(六)

2 课程管理 2.1 需求分析 在线教育平台的课程信息相当于电商平台的商品。课程管理是后台管理功能中最重要的模块。本项目为教学机构提 供课程管理功能&#xff0c;教学机构可以添加属于自己的课程&#xff0c;供学生在线学习。课程管理包括如下功能需求&#xff1a;1、分类管理…

oracle关闭clusters,使 Oracle Real Application Clusters 数据库实例的启动和关闭自动化

使 Oracle Real Application Clusters 数据库实例的启动和关闭自动化使 Oracle Real Application Clusters 数据库实例的启动和关闭自动化包括注册和配置以下资源&#xff1a;Oracle RAC 服务器资源Oracle 侦听器资源Oracle RAC 服务器资源仅提供故障监视&#xff0c;以使 Orac…

第 5 章 网络 - 037 - 外部世界如何访问容器?

外部世界访问容器 docker 可将容器对外提供服务的端口映射到 host 的某个端口&#xff0c;外网通过该端口访问容器。 容器启动时通过-p参数映射端口&#xff1a;容器启动后&#xff0c;可通过 docker ps 或者 docker port 查看到 host 映射的端口。 docker run -d -p 80 httpd …
最新文章