【音视频开发】摄像头和ISP的基本介绍

news2024/11/24 9:57:29

文章目录

  • 一、摄像头的基本知识
    • 1.1 摄像头结构
    • 1.2 摄像头模组的种类
    • 1.3 摄像头的工作原理
  • 二、Sensor的基本知识
    • 2.1 Sensor的工作原理
    • 2.2 Sensor的分类
    • 2.3 Sensor的封装形式
    • 2.4 常见的Sensor厂商
    • 2.5 Sensor的基本框图
  • 三、ISP的基本知识
    • 3.1 ISP的定义
    • 3.2 ISP的工作原理
  • 四、ISP图像处理算法
    • 4.1 AE(Automatic Exposure)自动曝光
    • 4.2 HDR(High-Dynamic Range Imaging)高动态范围成像
    • 4.3 AWB(Automatic White Balance)自动白平衡
    • 4.4 CCM(Color Correction)颜色校正
    • 4.5 DNS(Denoise)去噪
    • 4.6 BLC(Black Level Correction)黑电平校正
    • 4.7 LSC(Lens Shade Correction)镜头阴影校正

https://blog.csdn.net/wangliang888888/article/details/103695002

一、摄像头的基本知识

1.1 摄像头结构

摄像头模组(Camera Compact Module,CCM)。有自动对焦功能的摄像头和没有自动对焦的摄像头结构图。它们的差别一般就是音圈马达(是的!自动对焦功能的摄像头模组上有一个微型的马达!)。

在这里插入图片描述

摄像头模组主要由以下几个部分组成:

镜头(Lens):将光线汇聚到图像传感器上。
音圈马达(VCM):完成摄像头的自动对焦。
红外滤光片(IR-cut Filter):滤除人眼的非可见光。
图像传感器(Sensor):将光信号转换成电信号。
柔性印制电路板(FPCB):将摄像头模组与主处理器连接起来,并进行数据传输。

音圈马达(Voice Coil Motor)也叫音圈电机,它的原理与扬声器类似,在一个永久磁场内放置一个线圈,线圈通电后会产生磁场(安培定则),从而与外围的永久磁铁产生引力或斥力,导致线圈受力移动。如果把镜头安置在线圈上,则可以通过改变电流大小线圈带动镜头前后运动,从而控制镜头的位置,完成对焦的功能。

VCM通常搭配VCM Driver IC(VCM驱动芯片)、AF(Auto Focus,自动对焦)算法一起使用。首先,Sensor采集的图像输入到ISP中,由ISP中的AF算法计算当前图像的焦点步数,并通过I2C传输给Driver IC,Driver IC据此计算出移动线圈到该位置所需要的电流大小,从而精确的控制镜头的行为,达到自动对焦的效果。当然,该方法也可以实现光学防抖(Optical Image Stabilizer,OIS)的效果,其原理是相同的。

参考:Sensor简介(一):摄像头模组CCM的结构和原理简述

1.2 摄像头模组的种类

CCM分为4种:FF、MF、AF和ZOOM。

FFFix Focus定焦摄像头,是国内目前用的最多摄像头,用于30万和130万的手机产品。
MFMicro Focus两档变焦摄像头,主要用于近景拍照,如带有名片识别以及条形码识别的手机上,用于130万和200万的手机产品。
AFAuto Focus自动变焦摄像头,主要用于高像素手机,同时具有MF的功能,用于200万和300万的手机产品。
ZoomAuto Zoom自动数码变焦(在机位不动的条件下,景别可以从大到小、或从小到大连续变化)摄像头,主要用于相机手机,类似于相机影像的品质,用于300万以上的手机产品。

1.3 摄像头的工作原理

在这里插入图片描述

拍摄物体通过镜头(lens),将生成的光学图像投射到感光传感器(sensor)上,把光信号转换成电信号,电信号再经过模数转换把电信号转换成数字信号,数字信号经过DSP加工处理,转换成标准的RGB、YUV等格式图像信号存储在设备上最终通过显示器可以看到图像了

二、Sensor的基本知识

2.1 Sensor的工作原理

Lens的作用是滤去不可见光,让可见光进入,并投射到Sensor上。Sensor的工作原理:光照–〉电荷–〉弱电流–〉RGB数字信号波形–〉YUV数字信号信号
在这里插入图片描述

2.2 Sensor的分类

元件类型不同分为:CCD 和CMOS。

  • CCD(Charge CoupLED Device,),一般是用于摄影摄像方面的高端技术元件。CCD的优点是灵敏度高,噪音小,信噪比大。但是生产工艺复杂、成本高、功耗高。
  • CMOS(Complementary Metal-Oxide Semiconductor,金属氧化物半导体元件)应用于较低影像品质的产品中。CMOS的优点是集成度高、功耗低(不到CCD的1/3)、成本低。但是噪音比较大、灵敏度较低。对于CMOS来说,具有便于大规模生产,且速度快、成本较低,将是数字相机关键器件的发展方向。CMOS感光器以已经有逐渐取代CCD感光器的趋势,并有希望在不久的将来成为主流的感光器。

2.3 Sensor的封装形式

Sensor的封装形式有两种:CSP和DICE。在模组厂商加工制造中,CSP所对应的制程是SMT,DICE所对应的制程是COB。

2.4 常见的Sensor厂商

Omnivision豪威科技OV2640,OV5640
Siliconfile赛丽康
Samsung三星
SONY索尼
Aptina普廷

2.5 Sensor的基本框图

在这里插入图片描述

三、ISP的基本知识

3.1 ISP的定义

ISP (Image Signal Processor),即图像处理,主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节。

3.2 ISP的工作原理

从 Sensor 端过来的图像是 Bayer 图像,经过黑电平补偿、镜头矫正、坏像素矫正、颜色插值、Bayer 噪声去除、白平衡、色彩矫正、Gamma 矫正、色彩空间转换( RGB 转换为 YUV )、在 YUV 色彩空间上彩噪去除与边缘加强、色彩与对比度加强,中间还要进行自动曝光控制等,然后输出 YUV( 或者 RGB )格式的数据,再通过 I/O 接口传输到 CPU 中处理。(以 OV495 为例)

摄像头ISP系统原理(上)
摄像头ISP系统原理(中)
摄像头ISP系统原理(下)

ISP 的控制结构如图1-1 所示,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB 空间域的图像给后端的视频采集单元。在这个过程中,ISP 通过运行在其上的firmware 对ISP逻辑,lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,firmware 的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。
在这里插入图片描述
ISP概述、工作原理及架构

四、ISP图像处理算法

4.1 AE(Automatic Exposure)自动曝光

自动曝光是指根据光线的强弱自动调整曝光量,防止曝光过度或者不足,在不同的照明条件和场景中实现欣赏亮度级别或所谓的目标亮度级别,从而捕获的视频或图像既不太暗也不太亮。

在这里插入图片描述

4.2 HDR(High-Dynamic Range Imaging)高动态范围成像

Sensor的动态范围就是Sensor在一幅图像里能够同时体现高光和阴影部分内容的能力。在自然界的真实情况,有些场景的动态范围要大于100 dB,人眼的动态范围可以达到100dB。高动态范围成像的目的就是要正确地表示真实世界中的亮度范围。适合场景:比较适合在具有背光的高对比度场景下使用如:日落、室内窗户,这样能使明处的景物不致过曝,而使得暗处的景物不致欠曝。

在这里插入图片描述

4.3 AWB(Automatic White Balance)自动白平衡

白平衡就是针对不同光线条件下,通过找到图像中的白块,然后调整 R/G/B 的比例抵消偏色,把白色物体还原成白色物体,使其更接近人眼的视觉习惯。

在这里插入图片描述

4.4 CCM(Color Correction)颜色校正

颜色校正主要为了校正在滤光板处各颜色块之间的颜色渗透带来的颜色误差。一般颜色校正的过程是首先利用该图像传感器拍摄到的图像与标准图像相比较,以此来计算得到一个校正矩阵。该矩阵就是该图像传感器的颜色校正矩阵。在该图像传感器应用的过程中,及可以利用该矩阵对该图像传感器所拍摄的所有图像来进行校正,以获得最接近于物体真实颜色的图像。

在这里插入图片描述

4.5 DNS(Denoise)去噪

使用 CMOS Sensor 获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时,当信号经过 ADC 时,又会引入其他一些噪声。这些噪声会使图像整体变得模糊,而且丢失很多细节,所以需要对图像进行去噪处理空间去噪传统的方法有均值滤波、高斯滤波。

在这里插入图片描述

4.6 BLC(Black Level Correction)黑电平校正

Black Level 是用来定义图像数据为 0 时对应的信号电平。由于暗电流的影响,传感器出来的实际原始数据并不是我们需要的黑平衡。为减少暗电流对图像信号的影响,采用的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下,在传感器中,实际像素要比有效像素多,像素区头几行作为不感光区,用于自动黑电平校正,其平均值作为校正值,然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。
在这里插入图片描述

4.7 LSC(Lens Shade Correction)镜头阴影校正

由于相机在成像距离较远时,随着视场角慢慢增大,能够通过照相机镜头的斜光束将慢慢减少,从而使得获得的图像中间比较亮,边缘比较暗,这个现象就是光学系统中的渐晕。由于渐晕现象带来的图像亮度不均会影响后续处理的准确性。因此从图像传感器输出的数字信号必须先经过镜头矫正功能块来消除渐晕给图像带来的影响。

在这里插入图片描述

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

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

相关文章

拥抱生成式大模型 --- 提示工程篇

本文为系列的第二篇,主要是学习和总结chatgpt类模型的提示工程。感谢吴恩达老师的开源课程。 引言 随着大型语言模型(LLM)的发展,LLM 大致可以分为两种类型,即基础LLM和指令微调LLM。基础LLM是基于文本训练数据&…

栈和队列 - C语言实现

目录 栈 栈的概念 栈的实现 队列 队列的概念 队列的实现 栈 栈的概念 栈是一种后进先出 (LIFO - last in first out) 的数据结构,通常利用数组或链表实现。栈只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另…

JavaWeb14 - 异步请求 - 02 - Ajax

1. 概述 1.1 官方文档 Ajax 在线文档:https://www.w3school.com.cn/js/js_ajax_intro.asp 1.2 Ajax 基本介绍 1.2.1 Ajax 是什么 AJAX 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML)Ajax 是一种浏览器异步发起请求(指定发哪些数据)&…

LeetCode刷题集(七)(LeetCode70.爬楼梯)

学习目标:拿下LeetCode70.爬楼梯 学习完本文章之后拿下LeetCode70题 题目实例: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 样例1、输入:n 2 输出&#xff1…

Java学习路线(7)——面向对象基础

1、概念 对象: 是实际存在的具体实例。类: 是对象共同特征的描述 。 2、类的组成 成员变量 成员变量是类中的全局变量,它的作用域是class car的“{}”之内。 public class car{String carTypeName; //汽车类型名称double minPrice; //最低…

OpenCV在iOS端的集成及Mat和UIImage互相转化(附源码)

OpenCV是一个非常强大的图形处理框架,可以运行在Linux、Windows、Android和Mac OS操作系统上,在自动驾驶、智能家居、人脸识别、图片处理等方面提供了非常丰富且功能强大的api,在图片处理方便,基本上可以满足对图片处理的所有需求…

Fourier分析入门——第4章——频率域

目录 第 4 章 频率域(The Frequency Domain) 4.1 频谱分析(Spectral Analysis) 4.2 物理单位(Physics units) 4.3 笛卡尔坐标形式与极坐标形式对比 4.4 频谱分析的复数形式 4.5 复数值Fourier系数 4.6 复数值的和三角的Fourier系数之间的关系 4.7 2维或多维离散Fouri…

SpringBoot+Redis实现浏览量+1

当用户点击新闻查看详情后,数据库新闻的浏览量字段要加一,当在高并发场景下,很多人查看新闻详情直接操作数据库使浏览量字段加一对数据库压力过大,并且容易造成脏数据,这里结合redis实现浏览量加一。 业务逻辑&#x…

chatgpt赋能Python-pythonfoo

Pythonfoo: 优秀的Python库提高开发效率 Python是一门被广泛应用的动态编程语言,提供了各种各样的库来帮助开发人员完成不同类型的任务。在这些Python库中,Pythonfoo是一款旨在提高开发效率和代码简洁性的出色的Python库。 什么是Pythonfoo&#xff1f…

一种用于超低功耗无线传感器网络的消息传递算法(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 无线传感器网络是由一定数量的无线传感器节点组成的网络系统,各节点可采集环境数据并通过无线通信进行数据传输,目前已广泛应用…

使用cubeMX生成USB HID设备

一,简介 本文主要介绍如何使用stm32F407开发板和cubeMX生成USB FS HID设备,供参考。 二,操作步骤 本次总共分以下几个步骤: 1,创建cubeMX工程,并配置HID,生成工程代码; 2&#xf…

光伏防逆流系统的介绍

安科瑞虞佳豪 5月17日,新疆和田地区洛浦县国家电投洛浦光伏电站,今年2月刚刚并网发电的200兆瓦光伏发电项目坐落于戈壁滩上,占地5500亩的368004块光伏面板在阳光照射下熠熠生辉,为和田地区经济社会发展持续提供着绿色能源。 洛浦…

HNU-操作系统OS-实验Lab6

OS_Lab6_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 理解操作系统的调度管理机制熟悉 ucore 的系统调度器框架,以及缺省的Round-Robin 调度算法基于调度器框架实现一个(Stride Scheduling)调度算法来替换缺省的调度算…

第12章_MySQL数据类型精讲

第12章_MySQL数据类型精讲 1. MySQL中的数据类型 类型类型举例整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT浮点类型FLOAT、DOUBLE定点数类型DECIMAL位类型BIT日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP文本字符串类型CHAR、VARCHAR、TINYTEXT、TE…

chatgpt赋能Python-pythondeque函数

Python deque函数:高效地操作双向队列 介绍 在Python中,deque函数是一个非常重要的内置函数,用于创建双向队列。双向队列是一个序列容器,可以从两端添加或删除元素,这使得它成为许多常见问题的解决方案。deque函数是…

Vue--》深入理解 Vue 3 导航守卫,掌握前端路由的灵魂技能!

目录 vue3导航守卫讲解与使用 element-ui的安装与使用 配置路由和设置路径别名 设置登录页面并实现规则跳转 设置导航前置守卫 设置导航后置守卫 其他路由相关操作 vue3导航守卫讲解与使用 导航守卫是在 Vue Router 中提供的一种功能,它允许你在切换路由之前…

chatgpt赋能Python-pythonfirst

PythonFirst:Python编程新手的最佳起点 作为一门简洁而又强大的编程语言,Python在过去的几年中得到了越来越多的关注和应用。它广泛应用于数据分析、人工智能、Web开发、自动化等领域,成为了许多程序员的首选语言。如果你也是刚刚开始接触Py…

有哪些简单而知道的人少的excel操作技巧?

以下是 Excel 里鲜为人知而又简单、逆天的操作技巧: 1. 快速选中数据区域:双击数据区域左上角的方格即可快速选中整个数据区域。 2. 使用自动筛选快速查找和筛选数据:在 Excel 数据表中,使用自动筛选可以快速找到和筛选特定数据…

【Robot Dynamics Lecture Notes学习笔记之浮动基动力学】

Robot Dynamics Lecture Notes学习笔记之浮动基动力学 Contact ForcesSoft Contact Model Contact Forces from Constraints Constraint Consistent DynamicsContact Switches and Impact CollisionsImpulse TransferEnergy Loss 浮动基座系统的广义坐标分别由驱动关节坐标 q j…

小程序-基础加强(二):使用npm包

使用npm包 1.小程序对npm的支持与限制 目前,小程序中已经支持使用npm安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用npm包有如下3个限制: ①不支持依赖于Node.js内置库的包 ②不支持依赖于浏览器内置对象的包 …