基于 OV5640 摄像头理论知识讲解-成像和采样原理

news2025/1/20 16:30:11

基于OV2640/ OV5640 的图像采集显示系统系列文章目录:
(1)基于 OV5640 摄像头理论知识讲解-成像和采样原理
(2)基于 OV5640 摄像头理论知识讲解-数字接口和控制接口
(3)基于 OV5640 摄像头理论知识讲解-典型工作模式配置
(4)基于OV2640/ OV5640 的图像采集显示系统

文章目录

  • 前言
  • 一、OV5640 摄像头介绍
  • 二、硬件电路说明
  • 三、CMOS 图像传感器成像原理


前言

基于 OV5640 摄像头理论知识讲解-成像和采样原理。-

提示:以下是本篇文章正文内容,下面案例可供参考

一、OV5640 摄像头介绍

OV5640_V5( V5 是版本号,下面均以 OV5640 表示该产品)是芯路恒科技推出的一款高性能 500W 像素高清摄像头模块。该模块采用 OmniVision 公司生产的一颗 1/4 英寸CMOS QSXGA( 25921944)图像传感器 OV5640,配合高质量的光学镜头及为实现更高性能而精心设计的 PCBA,使该模块拥有了尽可能高的成像质量。OV5640 模块的特点如下:
 1.4μm
1.4μm 像素大小,并且使用 OmniBSI 技术以达到更高性能(高灵敏度、
低串扰和低噪声)
 自动图像控制功能:自动曝光( AEC)、自动白平衡( AWB)、自动消除灯光条纹、
 自动黑电平校准( ABLC)和自动带通滤波器( ABF)等。
 支持图像质量控制:色饱和度调节、色调调节、 gamma 校准、锐度和镜头校准等
 标准的 SCCB 接口,兼容 IIC 接口
 支持 RawRGB、 RGB(RGB565/RGB555/RGB444)、 CCIR656、 YUV(422/420)、 YCbCr
( 422)和压缩图像( JPEG)输出格式
 支持 QSXGA( 500W)图像尺寸输出,以及按比例缩小到其他任何尺寸
 支持图像缩放、平移和窗口设置
 支持图像压缩,即可输出 JPEG 图像数据
 支持数字视频接口( DVP)
 自带嵌入式微处理器
 集成 LDO, 仅需提供 3.3V 电源即可正常工作

二、硬件电路说明

OV5640 模块对用户提供一个 20 针的排针接口,模块的 2*10 接口信号图如下所示:
1
下表为该接口上各个信号的功能介绍。
2
注意:OV5640 芯片 DVP 接口本身拥有 10 位的数据线,可以输出 10 位的 RAW 数据,但是在大多数情况下,使用高 8 位数据即可,因此模组在设计时,仅使用了 OV5640 芯片的D9-D2 高 8 位,映射到模组上的 OV_D7~OV_D0。

三、CMOS 图像传感器成像原理

OV5640 是一个典型的 CMOS 图像传感器,作为一个图像传感器,其主要作用就是将现实中的各种光线转换为数字系统能够识别的数字信号,光线中三元色各个颜色的强度本身是模拟信号,所以图像传感器的最基本的原理就是进行模数转换,将光线这个模拟量转换为数字信号。
仅仅有模数转换功能还不够,我们还得先搞清楚另一个问题——光线是一种怎样的模拟量。
光线是一种怎样的模拟量呢,这个在初中物理中已经有过详细的介绍。我们都知道,自然界中的光,实际上是三种基本单色光的组合,这三种基本单色光为红(RED)、绿(GREEN)、蓝(BLUE),我们称之为三原色。通过将这三种基本颜色按照不同的比例混合,就可以得到其他的任意颜色。例如纯黄色是由红色和绿色按照一比一的比例混合得到的,蓝色量为 0。下图为三种颜色混合得到几种常见颜色的示意图。
1
既然已经知道,每一束光线都可以理解为三原色按照不同比例混合得到的效果,那么我们只要想办法知道该束光线的三原色的比例,然后用颜色加比例的表示方法,就能唯一确定这束光线的最终颜色了。所以图像传感器里面所谓的模数转换,实质就是对一束光线的三原色的强度进行转换,将三原色中每一种颜色的强度转化为数字信号。再用颜色加数字的方式来表示该束光线的真实颜色。
这里,假如我们对三原色中的每一种基本颜色的强度都分为 256 级,那么每一种基本颜色的强度就可以用一个 8 位的数字来表示,0 表示该颜色强度最弱,或者说无该颜色分量,255 表示该颜色强度最强。这样一来,我就可以用一个 24 位的数字来唯一表示该光线的颜色了。下表为上图中几种颜色的对应三原色的数值。
1
这种表示颜色的方法就是最常见的 RGB888 格式。所谓 RGB888 就是使用 3 个 8 位的数据表
示一种颜色,其中高八位表示红色分量,中八位表示绿色分量,低八位表示蓝色分量,上述 8 种颜色用 RGB888 格式表示就如下表所示:
1
行转换得到数字信号,就能唯一表示该颜色了,但是接下来,另一个问题又出现了。如何才能对一束自然光中的三原色的强度分别进行模数转换呢?这就涉及到对一束光的三原色分离。
所谓对光的三原色分离就是通过某种手段,将该束光线中的三种颜色分别独立提取出来,当三种颜色都独立的提取到之后,就能使用模数转换器对该颜色的强度进行转换了。三原色分离的原理其实非常简单,就是使用单色滤光片,
1
如上图,通过加入滤光片,就能让对应颜色的光线通过滤光片到达感光元件,通过这种方式,只需要三个不同颜色的滤光片,就能对一束入射的复合光线进行分离,得到三原色,然后使用模数转换器对感光元件感应到的单色光的光照强度进行转换,就能得到该单色光的强度数字值了。
但是,通过上述分析我们也发现一个事实,那就是一个感光元件只能对一种颜色的光进行感应,如果要对一束光线中的三种颜色分别感应,就需要三个感光元件。如果对应到CMOS 图像传感器里面的概念来说,这每一个滤光片加感光元件都是一个像素。注意这个概念,每一个滤光片加感光元件都是一个像素,那么从反面来说就是,每个像素都只能感应一种颜色的光线。所以,下次看到某某图像传感器宣传其有多少多少万像素大小时,作为半专业人士的我们,要在心里默念,这只是物理像素个数,实际上每个像素只能感应一种颜色。
既然每个像素只能感应一种颜色,那么新一个问题又来了——如何才能得到某束光线的三种颜色分量的值呢?答案就是使用至少 3 个像素,每个像素感应该束光的一种颜色,然后三个像素就能把该束光的三种颜色分量全提取出来了。但是,实际上使用 3 个像素来提取一束光的三种颜色分量,理论上可行,但是实际上却存在 3 个像素间摆放位置的物理限制,首先是如何让该束光线能够均匀的照射到感应三种颜色分量光线的像素上的问题,其次还要知道,一个图像传感器,并不是只感应一束光,是要感应成千上万束细小的光束,每一束光线都需要有对应的像素组来提取其三种颜色分量。因此,像素和像素之间的物理摆放问题也是需要认真考虑的问题。同时,还得兼顾考虑这种摆放模式下图像传感器的可生产性问题。
正是为了解决这些问题,诞生了著名的拜尔(以下简称 Bayer)矩阵。Bayer 矩阵定义,感光像素矩阵中,奇数行间隔放置绿色和红色感应像素,偶数行间隔放置绿色和蓝色感应像素,奇数列间隔放置绿色和蓝色感应像素,偶数列间隔放置红色和绿色感应像素,其输出数据格式如下图所示。
1
根据这种分布规律,在 Bayer 矩阵中,以相邻的四个像素作为一组,在该组中,有两个感应绿色分量的像素呈对角分布,另外两个像素则分别对应感应红色分量和感应蓝色分量。
通过这样一种方式,我们可以发现,任取一个像素,其与相邻的 3 个像素组成的矩阵中,总符合这样的规律。不同的只是三种颜色的像素所在的位置的差异。下图为图像传感器手册中给出的像素物理分布图。
1
而且通过对上述 88 的矩阵进行分析发现,在整个矩阵中,像素的位置关系有且只有下面四种情况:
1
所以,在实际颜色提取时,需要通过数据转换,将相邻四个像素的数据通过插值算法合并为一个 RGB 像素颜色,此种转换算法名为 RAW2RGB,这里取左上角四个像素点的数据为例,具体颜色转换算法如下所示:
在这里插入图片描述
保留相邻四个像素中的红色和蓝色分量,而对两个绿色分量求平均,得到新的绿色分量,此三种颜色分量组成一个新的 RGB 格式的像素,新的像素色彩组成如下所示:
1
按照这样的思路,整个图像传感器中的每一个像素都可以以不同的角色参与 4 次运算,并最终得到 4 个 RGB 颜色值,所以理论来说,还是可以认为一个图像传感器有多少个物理像素,就能得到多少个 RGB 格式的像素值,虽然每个物理像素都只能感应一种颜色。但是进过插值运算后,其能输出 RGB 的数据格式的像素数量还是等于其物理像素个数的。有了 Bayer 像素矩阵后,只需要使用一个模数转换器,依次对每一个像素的感光元件感应到的模拟量进行转换并输出,就能得到一幅完整图像的原始像素信息了。下图为OV5640 图像传感器的功能框图。
1
通过该图可以看到,该图像传感有一个基本的像素矩阵,在图中名为 image array,该像素矩阵共有 2592
1944 个物理像素,2592*1944=5,038,848,这也就是我们常说的 500 万像素的由来。在像素矩阵外围,有一个 row select 功能模块来选择当前输出哪一行的像素,和一个 column sample/hold 电路来依次采样每行像素中的每一个像素的感光元件感应结果(模拟信号)并输出到信号放大器(AMP),经由 AMP 对该信号放大之后,送给 10 位的模数转换器(10-bit ADC)进行模数转换。
至此,关于 OV5640 的第一大基本功能——成像和采样原理,就介绍清楚了。

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

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

相关文章

Qt应用开发(基础篇)——字体选择器 QFontDialog

一、前言 QFontDialog类继承于QDialog,是一个设计用来选择字体的对话框部件。 对话框窗口QDialog QFontDialog字体选择对话框,设计用来让用户选择某一种字体,一般用于文本编辑窗口、标签显示和一些需要文本输入的场景。你可以直接使用静态函数…

2、DVWA——命令注入

文章目录 一、命令注入1.1 概述1.2 判断命令注入流程 二、low2.1 通关思路2.2.源码分析 三、Medium3.1 通关思路3.2 源码分析 四、high4.1 通关思路4.2 源码分析 五、impossible六、总结 一、命令注入 1.1 概述 命令注入的目标是通过易受攻击的应用程序在主机操作系统上执行任…

『赠书活动 | 第十八期』《深入浅出SSD:固态存储核心技术、原理与实战》

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 『赠书活动 | 第十八期』 本期书籍:《深入浅出SSD:固态存储核心技术、原理与实战》 赠书规则:评论区:点赞&…

【力扣每日一题】2023.8.29 带因子的二叉树

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一些元素,让我们用这些元素连接形成特定的二叉树,每种元素可以使用任意次数,形成的二叉树要…

【深度解析】朗逸与宝来汽车:哪款更适合你?

在汽车市场中,朗逸和宝来都是非常受欢迎的车型。它们各自都有独特的优点和缺点,那么,究竟哪款车更适合你呢?让我们一起来深度解析一下。 朗逸,作为大众的入门级车型,以其稳定的性能和较高的性价比赢得了消费…

深入详解ThreadLocal

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 什么是ThreadLocalThreadLocal 原理set方法get方法remove方法 ThreadLocal 的Hash算法ThreadLocal …

海川润泽气泡水位计 重磅上线

一、概述 以市场为导向,海川润泽推出新款气泡水位计(型号:HC-QPSW10-S)。气泡水位计具有测量精度高,免气瓶,免测井,免维护,抗振动,寿命长等特点,特别适用于流…

印刷行业MES系统解决方案

印刷行业存在许多问题,这些问题可能因地区、技术和市场变化而有所不同。以下是一些可能的印刷行业现存问题: 1.环保问题:印刷过程中使用的化学品和材料可能对环境造成污染。废墨、废纸、有毒化学品等的处理和处理成为一个重要的问题。 2.…

优思学院|六西格玛推行为什么会失败?应如何避免?

六西格玛项目可以为企业带来丰厚的经验和巨大的利益;然而,并非所有的项目都能达到预期的效果。根据一项在国外的调查发现,在184家受访公司中,80.6%的公司声称六西格玛工作未能成功实现他们的预期的价值,74.1%的公司说他…

UG\NX二次开发 代工分享的“单个体XY排料工具”源码

文章作者:代宇(Q:873058673) 简介: 单个体XY排料,昨天代工在开发群里分享了一个排料的视频,我觉得挺有意思,就私聊要来了源码,经过作者同意可以分享给大家。请欣赏: 效果: 代码: //单个体XY排料 代工QQ:873058673 //-------------------------------…

亥姆霍兹线圈的几个特点

亥姆霍兹线圈可以用于磁学、电子学和核物理学等领域的实验研究中,是一种常见的基础实验仪器。亥姆霍兹线圈有以下几个特点: 1、磁场均匀性好:由于该线圈的结构和定位方式,使得两个线圈的磁场强度和方向都非常均匀,可以…

R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达自激过程时间序列...

全文下载链接:http://tecdat.cn/?p25880 本文描述了一个模型,该模型解释了交易的聚集到达,并展示了如何将其应用于比特币交易数据。这是很有趣的,原因很多。例如,对于交易来说,能够预测在短期内是否有更多…

IDA Python 使用总结

环境配置 切换 python 版本 运行 IDA 安装目录下的 idapyswitch.exe ,选择使用的 python 解释器。 在 PyCharm 中写 IDAPython 脚本 在 PyCharm 的设置→项目→Python解释器点击设置选择全部显示… 点击如下位置添加自定义路径 路径选择 IDA Pro 7.6\python\3…

国标GB28181视频平台EasyGBS国标平台激活码授权提示“授权失败”的问题解决方案

EasyGBS平台是基于国标GB28181协议的视频云服务平台,支持多路设备接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流。平台可为大数据等综合性监管平台提供极强的视频能力,既能作为能力平台为业务层提供接口调用…

Boost开发指南-4.12utility

utility utility库不是一个有统一主题的Boost库,而是包含了若干个很小但有用的工具。 本章开头介绍的noncopyable.swap都曾经被归类在utility库里(现在则属于core库),此外utility还包括其他很多个实用类,如 base_from_member、compressed_pair、checke…

操作系统复习总结5

操作系统复习总结,仅供笔者复习使用,参考教材: 《操作系统原理》 - 何静媛编著. 西安电子科技大学出版社《操作系统考研复习指导》2024年 - 王道论坛组编. 电子工业出版社 本文主要内容为:输入输出管理; 计算机系统…

经典卷积网络

目录 一、经典神经网络出现的时间线​编辑 二、LeNet 三、AlexNet 四、VGGNet 五、InceptionNet 六、ResNet 总结: 一、经典神经网络出现的时间线 二、LeNet 背景:LeNet由Yann LeCun于1998年提出,卷积网络开篇之作。 解释&#xff1…

Error: PostCSS plugin autoprefixer requires PostCSS 8 问题解决办法

报错:Error: PostCSS plugin autoprefixer requires PostCSS 8 原因:autoprefixer版本过高 解决方案: 降低autoprefixer版本 执行:npm i postcss-loader autoprefixer8.0.0

拓世AI | 智能家居比朋友还贴心,开启人类生活全面智能的一天

每个时代都有它的标志性技术,在21世纪,无疑是人工智能。当日光悄悄溜进窗台,一切都在静默中苏醒,你的家已经开始了新的一天。不再是单纯的墙壁、屋顶和家具,它现在是一个“生命体”,倾听你的需求&#xff0…

ssm会议管理系统源码和论文

ssm会议管理系统源码和论文087 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳&…