基于摄像头的图像采集与处理应用_第1页
基于摄像头的图像采集与处理应用_第2页
基于摄像头的图像采集与处理应用_第3页
基于摄像头的图像采集与处理应用_第4页
基于摄像头的图像采集与处理应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 基于摄像头的图像采集与处理应用基于摄像头的图像采集与处理应用 1 摄像头工作原理 摄像头工作原理 图像传感器 是组成数字摄像头的重要组成部分 根据元件的材料不同 可分为 CCD Charge Coupled Device 电荷耦合元件 和CMOS Complementary Metal Oxide Semiconductor 金属氧化物半导体元件 两大类 电荷藕合器件图像传感器CCD Charge Coupled Device 它使用一种高感光度的半导 体材料制成 能把光线转变成电荷 通过模数转换器芯片转换成数字信号 数字信号经过 压缩以后由相机内部的闪速存储器或内置硬盘卡保存 因而可以轻而易举地把数据传输给 计算机 并借助于计算机的处理手段 根据需要和想像来修改图像 CCD由许多感光单位 组成 通常以百万像素为单位 当CCD表面受到光线照射时 每个感光单位会将电荷反映 在组件上 所有的感光单位所产生的信号加在一起 就构成了一幅完整的画面 互补性氧化金属半导体CMOS Complementary Metal Oxide Semiconductor 和CCD一 样同为在图像传感器中可记录光线变化的半导体 CMOS主要是利用硅和锗这两种元素所 做成的半导体 使其在CMOS上共存着带N 带 电 和 P 带 电 级的半导体 这两个 互补效应所产生的电流即可被处理芯片纪录和解读成影像 然而 CMOS的缺点就是太容 易出现杂点 这主要是因为早期的设计使CMOS在处理快速变化的影像时 由于电流变化 过于频繁而会产生过热的现象 CCD和CMOS在制造上的主要区别是CCD是集成在半导体单晶材料上 而CMOS是集 成在被称做金属氧化物的半导体材料上 工作原理没有本质的区别 CCD制造工艺较复杂 采用CCD的摄像头价格都会相对比较贵 事实上经过技术改造 目前CCD和CMOS的实际 效果的差距已经减小了不少 而且CMOS的制造成本和功耗都要低于CCD不少 所以很多 摄像头生产厂商采用的CMOS感光元件 成像方面 在相同像素下CCD的成像通透性 明 锐度都很好 色彩还原 曝光可以保证基本准确 而CMOS的产品往往通透性一般 对实 物的色彩还原能力偏弱 曝光也都不太好 由于自身物理特性的原因 CMOS的成像质量 和CCD还是有一定距离的 但由于低廉的价格以及高度的整合性 因此在摄像头领域还是 得到了广泛的应用 工作原理 为了方便大家理解 我们拿人的眼睛来打个比方 当光线照射景物 景物 上的光线反射通过人的晶状体聚焦 在视网膜上就可以形成图像 然后视网膜的神经感知 到图像将信息传到大脑 我们就能看见东西了 摄像头成像的原理和这个过程非常相似 光线照射景物 景物上的光线反射通过镜头聚焦 图像传感器就会感知到图像 具体部分是这样的 摄像头按一定的分辨率 以隔行扫描的方式采集图像上的点 当 扫描到某点时 就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值 然后将此电压值通过视频信号端输出 如图1所示 摄像头连续地扫描图像上的一行 则输 2 出就是一段连续的电压信号 该电压信号的高低起伏反映了该行图像的灰度变化 当扫描 完一行 视频信号端就输出一个低于最低视频信号电压的电平 如 0 3V 并保持一段时 间 这样相当于 紧接着每行图像信号之后会有一个电压 凹槽 此 凹槽 叫做行同步脉 冲 它是扫描换行的标志 然后 跳过一行后 因为摄像头是隔行扫描的 开始扫描新的 一行 如此下去 直到扫描完该场的视频信号 接着会出现一段场消隐区 该区中有若干 个复合消隐脉冲 其中有个持续时间远长于其它的消隐脉冲 称为场同步脉冲 它是扫描 换场的标志 场同步脉冲标志着新的一场的到来 不过 场消隐区恰好跨在上一场的结尾 和下一场的开始部分 得等场消隐区过去 下一场的视频信号才真正到来 摄像头每秒扫 描25幅图像 每幅又分奇 偶两场 先奇场后偶场 故每秒扫描50 场图像 奇场时只扫描 图像中的奇数行 偶场时则只扫描偶数行 摄像头有两个重要的指标 分辨率和有效像素 分辨率实际上就是每场行同步脉冲数 这是因为行同步脉冲数越多 则对每场图像扫描的 行数也越多 事实上 分辨率反映的是摄像头的纵向分辨能力 有效像素常写成两数相乘 的形式 如 320 x240 其中前一个数值表示单行视频信号的精细程度 即行分辨能力 后 一个数值为分辨率 因而有效像素 行分辨能力 分辨率 图 1 摄像头视频信号 2 图像采集 图像采集 CCD摄像要能有效地对视频信号进行采样 首先要处理好的问题是如何提取出摄像头 信号中的行同步脉冲 消隐脉冲和场同步脉冲 否则 单片机将无法识别所接收到的视频 信号处在哪一场 也无法识别是在该场中的场消隐区还是视频信号区 更无法识别是在视 频信号区的第几行 这里有两种可行的方法 第一 直接采用A D转换进行提取 当摄像头 信号为行同步脉冲 消隐脉冲或场同步脉冲时 摄像头信号电平就会低于这些脉冲模式之 外时的摄像头信号电平 据此 可设一个信号电平阈值来判断A D转换采样到的摄像头信号 是否为行同步脉冲 消隐脉冲或场同步脉冲 第二 就是给单片机配以合适的外围芯片 此芯片要能够提取出摄像头信号的行同步脉冲 消隐脉冲和场同步脉冲以供单片机作控制 之用 3 由于单片机的处理速度有限 而一些脉冲的间隔时间又较短 我们就采用了第二种方 法进行信号提取 LM1881 视频同步信号分离芯片可从摄像头信号中提取信号的时序信息 如行同步脉冲 场同步脉冲和奇 偶场信息等 并将它们转换成TTL 电平直接输给单片机 的I O 口作控制信号之用 LM1881的端口接线方式如图2所示 图图2 LM1881 其中 引脚2 为视频信号输入端 引脚1 为行同步信号输出端 如图3中的b 引脚3 为场同步信号输出端 当摄像头信号的场同步脉冲到来时 该端将变为低电平 一般维持 230us 然后重新变回高电平 如图3中的c 引脚7 为奇 偶场同步信号输出端 当摄像头 信号处于奇场时 该端为高电平 当处于偶场时 为低电平 事实上 不仅可以用场同步 信号作为换场的标志 也可以用奇 偶场间的交替作为换场的标志 图图3 LM1881 信号时序图信号时序图 4 CMOS 摄像头的灰度值 以及场 行中断直接给出数字量 无需 A D 转换以及帧 场 分离 图像采集的关键是时序的把握 此外 中断的优先级一定要保证 要不然无法采集到 完整的图像 摄像头每秒扫描 25 幅图像 即 25 帧数据 每幅又分奇 偶两场 先奇场后 偶场 故每秒扫描 50 场图像 奇场时只扫描图像中的奇数行 偶场时则只扫描偶数行 我 们使了 ECT 的通道 1 捕捉场中断 通道 0 捕捉行中断 如下面摄像头信号采集时序图所示 1 在采集时乎略 TCLK 首先是因为它太快了 捕捉不到 另外也没有必要捕捉到 它 图 4 摄像头信号采集时序图 采集图像时尽快地一个点一个点的取就行了 和模拟摄像头一样 2 VYNSC 是判断是否一幅图像开始 周期是 20mS 其中高电平持续时间很短 忽略 HREF 是判断是否一行图像的开始 周期是 63us 左右 其中高电平持续时间为 40us 低电平持续时间 23us 那么可以算一下一场有多少行 20ms 63us 317 当然实际 上没有这么多 消隐和无效信号去掉之后只有 292 行 3 必须明确 场中断要通过下降沿捕捉 行中断要通过上升沿捕捉 若用 IRQ 捕捉 行中断必须加反相器 4 有效的灰度数据是在行中断之后的上升沿内 所以不要在行中断后的 23US 后采 集 那是废数据 计算一下一行 OV6620 有多少个点 40us 110ns 363 消隐和无效信号去 掉之后只有 356 个点 3 图像处理 图像处理 本设计针对的是基于摄像头简单黑白道路采集 摄像头采集到赛道图像后 必须对图 像数据进行正确的处理 才能提取出赛道位置 保证后续工作的顺利进行 图像处理简单的来说就是根据摄像头传回来的视频信号中提取出黑线的位置 常用的 黑线提取算法划分为二值化算法 直接边缘检测算法和跟踪边缘检测算法 二值化算法的 思路是 设定一个阈值 valve 对于视频信号矩阵中的每一行 从左至右比较各像素值和阈 5 值的大小 若像素值大于或等于阈值 则判定该像素对应的是白色赛道 反之 则判定对 应的是黑色的目标引导线 记下第一次和最后一次出现像素值小于阈值时的像素点的列号 算出两者的平均值 以此作为该行上目标引导线的位置 直接边缘检测算法 采用逐行搜 索的算法 首先找到从白色像素到黑色像素的下降沿和从黑色像素到白色像素的上升沿 然后计算上升沿和下降沿的位置差 如果大于一定的标准值 即认为找到了黑线 并可求 平均值算出黑线的中心点 至于上升沿 下降沿的检测 可以通过上上次采样数与这次采 样数的差值的绝对值是否大于一个阈值来判断 如果 是 且差值为负 则为上升沿 如果 是 且差值为正 则为下降沿 跟踪边缘检测算法 由于黑色的目标引导线是连续曲线 所以相邻两行的左边缘点比较靠近 跟踪边缘检测正是利用了这一特性 对直接边缘检测 进行了简化 其思路是若已寻找到某行的左边缘 则下一次就在上一个左边缘附近进行搜 寻 这种方法的特点是始终跟踪每行左边缘的附近 去寻找下一列的左边缘 所以称为 跟 踪 边缘检测算法 4 图像应用 图像应用 我们采用的是直接边缘检测算法 因为该方法抗环境光强变化干扰的能力更强 同时 还能消除垂直交叉黑色引导线的干扰 由于智能车上安装的摄像头相对于赛道存在一定的 倾斜角度 因此会造成采集到的赛道图像具有一定的梯形失真 即图像中的赛道远端窄 近端宽 远端图像不清晰而近端图像清晰可靠 如图5所示 图5 图像采集的还原图 6 所以就将一场图像分为两部分 近端部分和远端部分 为了给单片机处理节约时间我 们采用了全场动态范围来提取黑线即首先取得第一幅图像得到近处基准行黑线位置 在此 基础上确定下一幅图像搜索范围由于黑先是连续变化的 远端部分黑线就根据前两行黑线 位置的偏差量再加上一个固定范围来寻找 在图像滤波算法中 还应考虑以下几个方面 首先 根据图像模型去噪 例如 由于赛道的黑色引导线是绝对连续的 故两个中间有黑 线的行之间不能有全白行 注意中间二字 如果黑线在边缘 则可能是由于摄像头的视野 太窄或智能车身不正导致在过弯道时只能看到部分黑色引导线 这主要是解决光线对摄像 头的反光问题 其次 在理想的情况下 根据赛道的黑色引导线的连续性 如果某一行求 取的中心线位置与相邻的两行都相差很大 则可以认为该行数值错误 抛弃该行的数据或 使用其前后两行数据的平均值来替代该错误数值用以校正 这样一来提取出的黑线就比较 可靠了 不过在实际调试中远处图像畸变比较大而且行距也大 偶尔还是可能会出现错误 提取黑线 但是这对车体的控制影响不是很大 摄像头车相对于电磁车与光电车最大的优势在于有较远的前瞻 所以图像精度就非常 重要了即行分辨率和分辨率越高图取出来的黑线位置就越稳定可靠 这也是所有控制算法 的基础 由于单片机内存只有8K 存储图像数据的数组就不能开的太大 否则再加上一 些全局变量 静态变量 临时变量 明显内存就不够用了 我们想到的第一个解决办法 是买到更大内存的单片机可是这个没实现 经过尝试与多方设想我们采用动态内存刷新来 提高图像精度然后再加上锁相环超频到64M提高了图像的纵向与横向精度 从而使前瞻达 到了原来的两倍多 为了使智能车适应能力更强抗啊绕能力越好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论