基于PXA255的自动聚焦及图像采集模块设计
发布时间:2007/4/23 0:00:00 访问次数:515
摘 要:本文介绍了一种基于Intel公司 PXA255嵌入式处理器的自动聚焦图像采集系统。其中详细介绍了自动聚焦在FPGA中的实现以及图像采集在嵌入式linux系统中的实现,并给出了该系统的硬件结构图。
关键词:自动聚焦;图像采集;V4L视频接口;嵌入式QT;离散余弦变换
引言
目前市场上流行的摄像手机一般都不具备自动聚焦功能,这对于传感器分辨率在30万像素以下的摄像手机来说影响不大,但随着百万像素手机的面世,以及手机录像功能的采用,人们对摄像头的自动聚焦功能越来越关注。本文在Xhyper255开发板的基础上,结合项目开发的需要,在开发板上移植QT/embedded作为嵌入式GUI,并设计了自动聚焦和图像采集子模块,其中自动聚焦部分通过verilog HDL在开发板上的FPGA上实现,图像采集部分利用linux内核提供的video 4 linux接口实现。最后的采集程序界面采用嵌入式QT设计工具designer进行设计。
图1 硬件平台结构图
图2 DCT变换模块
图3 DCT变换流程图
图4 自动聚焦流程图
基于图像处理的自动聚焦系统算法
与传统的自动聚焦算法相比,基于图像处理的自动聚焦算法的实现不需要额外的信号源和相应的接收传感器,这有利于缩小器件的体积以降低成本,并降低器件的功耗。
在这类算法中,分析处理模块直接对获得的视频图像进行处理,以得到相应的判决函数,驱动控制模块则根据得到的聚焦判决函数信息来驱动步进电机,带动镜头前后移动,直到获得聚焦清楚的图像。因此,构造合理的判决函数就成了基于图像处理的自动聚焦算法的关键所在。理想的聚焦判决函数应该具有单峰性、无偏性并能反映离焦的极性,同时应具有较强的抗干扰能力。
在对目前的自动聚焦判决函数做相应的对比后,结合本系统的特点选择2D-DCT变换去除其中的低频成分,其余部分相加作为判决函数。2D-DCT变换的公式如式1所示。
(1)
这里C(0)=1/,C(u)=C(v) (u,v≠0)
自动聚焦系统的实现
开发平台的搭建如图1所示。
采用Xhyper255嵌入式开发板,图像采集子系统采用如下硬件搭建:30万像素CMOS图像传感器OV7620、 MCS51单片机、USB控制器OV511+、 步进电机和变焦镜头。
OV7620的主要特性为:单片数字式彩色图像传感器;1/3光学格式;数字视频输出格式: 1~500倍的自动曝光范围;自动增益和自动白平衡;能进行亮度、对比度、饱和度、伽马校正等多种调节功能。664×492的图像阵列扫描出原始的R、G、B彩色图像信号,经模拟处理电路进行曝光、校正、白平衡调整等处理后根据输出要求可以转换成YUV等多种信号输出形式。OV511+是为CMOS图像传感器设计的专用USB接口控制芯片。
DCT变换的FPGA实现
2D-DCT变换是视频压缩中的常用变换。在压缩过程中,将一幅图像分成许多8×8的小块进行变换。8×8的2D-DCT变换如式(2)所示:
(2)
这里C(0)=1/,C(u)=C(v)=1 (u,v≠0时)。
变换后去除其中的直流成份,其余的部分相加作为聚焦判决函数。函数最大值处即为焦点所处位置。
1. 块准备:给定的大小为640×480的彩色图像矩阵,将其分为三个矩阵,分别为亮度矩阵(Y),每个的大小为8×8,共4800个;剩下的同相矩阵(I)和正交矩阵(Q)分化为两组1200个矩阵,每个大小为8×8,使用下列矩阵将RGB分量映射到Y,I,Q分量上:
Y=0.30R+0.59G+0.11B
I=0.60R-0.28G-0.32B
Q=0.21R-0.52G+0.31B
对每个8×8矩阵Y,I,Q分量计算DCT,要计算2D-DCT,先对矩阵每行进行1D-DCT,然后对结果矩阵按列进行1D-DCT计算。
2. DCT模块设计:DCT系数采用case语句用查找表结构实现,程序源代码不在此详述。
DCT变换的实现过程为:串行数据首先放到输入缓冲(采用环形寄存器来构造),然后进行求积、求和运算,最终以并行数据的形式输出。这些操作要在控制模块下完成,以保证时序的正确。
DCT变换模块的框图如图2所示。8×8DCT变换实际上就是64个像素点的并行运算。对每个象素点所作的运算为:输入数据和DCT系数相乘,而后相加得到最
摘 要:本文介绍了一种基于Intel公司 A255嵌入式处理器的自动聚焦图像采集系统。其中详细介绍了自动聚焦在FPGA中的实现以及图像采集在嵌入式linux系统中的实现,并给出了该系统的硬件结构图。
关键词:自动聚焦;图像采集;V4L视频接口;嵌入式QT;离散余弦变换
引言
目前市场上流行的摄像手机一般都不具备自动聚焦功能,这对于传感器分辨率在30万像素以下的摄像手机来说影响不大,但随着百万像素手机的面世,以及手机录像功能的采用,人们对摄像头的自动聚焦功能越来越关注。本文在Xhyper255开发板的基础上,结合项目开发的需要,在开发板上移植QT/embedded作为嵌入式GUI,并设计了自动聚焦和图像采集子模块,其中自动聚焦部分通过verilog HDL在开发板上的FPGA上实现,图像采集部分利用linux内核提供的video 4 linux接口实现。最后的采集程序界面采用嵌入式QT设计工具designer进行设计。
图1 硬件平台结构图
图2 DCT变换模块
图3 DCT变换流程图
图4 自动聚焦流程图
基于图像处理的自动聚焦系统算法
与传统的自动聚焦算法相比,基于图像处理的自动聚焦算法的实现不需要额外的信号源和相应的接收传感器,这有利于缩小器件的体积以降低成本,并降低器件的功耗。
在这类算法中,分析处理模块直接对获得的视频图像进行处理,以得到相应的判决函数,驱动控制模块则根据得到的聚焦判决函数信息来驱动步进电机,带动镜头前后移动,直到获得聚焦清楚的图像。因此,构造合理的判决函数就成了基于图像处理的自动聚焦算法的关键所在。理想的聚焦判决函数应该具有单峰性、无偏性并能反映离焦的极性,同时应具有较强的抗干扰能力。
在对目前的自动聚焦判决函数做相应的对比后,结合本系统的特点选择2D-DCT变换去除其中的低频成分,其余部分相加作为判决函数。2D-DCT变换的公式如式1所示。
(1)
这里C(0)=1/,C(u)=C(v) (u,v≠0)
自动聚焦系统的实现
开发平台的搭建如图1所示。
采用Xhyper255嵌入式开发板,图像采集子系统采用如下硬件搭建:30万像素CMOS图像传感器OV7620、 MCS51单片机、USB控制器OV511+、 步进电机和变焦镜头。
OV7620的主要特性为:单片数字式彩色图像传感器;1/3光学格式;数字视频输出格式: 1~500倍的自动曝光范围;自动增益和自动白平衡;能进行亮度、对比度、饱和度、伽马校正等多种调节功能。664×492的图像阵列扫描出原始的R、G、B彩色图像信号,经模拟处理电路进行曝光、校正、白平衡调整等处理后根据输出要求可以转换成YUV等多种信号输出形式。OV511+是为CMOS图像传感器设计的专用USB接口控制芯片。
DCT变换的FPGA实现
2D-DCT变换是视频压缩中的常用变换。在压缩过程中,将一幅图像分成许多8×8的小块进行变换。8×8的2D-DCT变换如式(2)所示:
(2)
这里C(0)=1/,C(u)=C(v)=1 (u,v≠0时)。
变换后去除其中的直流成份,其余的部分相加作为聚焦判决函数。函数最大值处即为焦点所处位置。
1. 块准备:给定的大小为640×480的彩色图像矩阵,将其分为三个矩阵,分别为亮度矩阵(Y),每个的大小为8×8,共4800个;剩下的同相矩阵(I)和正交矩阵(Q)分化为两组1200个矩阵,每个大小为8×8,使用下列矩阵将RGB分量映射到Y,I,Q分量上:
Y=0.30R+0.59G+0.11B
I=0.60R-0.28G-0.32B
Q=0.21R-0.52G+0.31B
对每个8×8矩阵Y,I,Q分量计算DCT,要计算2D-DCT,先对矩阵每行进行1D-DCT,然后对结果矩阵按列进行1D-DCT计算。
2. DCT模块设计:DCT系数采用case语句用查找表结构实现,程序源代码不在此详述。
DCT变换的实现过程为:串行数据首先放到输入缓冲(采用环形寄存器来构造),然后进行求积、求和运算,最终以并行数据的形式输出。这些操作要在控制模块下完成,以保证时序的正确。
DCT变换模块的框图如图2所示。8×8DCT变换实际上就是64个像素点的并行运算。对每个象素点所作的运算为:输入数据和DCT系数相乘,而后相加得到最
热门点击
- 8051单片机家族数据手册链接大全
- dsPIC30F6010单片机的原理及应用
- 一种通用的嵌入式系统ISP方法
- 浮点数保存代码
- 基于FPGA/CPLD和USB技术的无损图像
- 数字显示器仍需处理模拟信号
- 常用PIC系列8位单片机芯片引脚符号的功能
- PIC系列单片机的伪指令
- 利用单片机PWM信号进行舵机控制
- 产生低失真正弦波的CMOS六角反相器
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]