1项目概述
在图像采集与处理的过程中,一般来说前端的数据处理相对后端来说数据量大但是操作相对简单,如果利用CPU等串行结构的处理器来进行运算的话会大大占用其资源,大大影响了整个图像采集与处理的时间;而FPGA则与CPU相反,其并行的结构会使图像处理算法简单的部分变得十分高效,因此,在图像采集与预处理过程中涉及到的一些简单的算法如果利用FPGA来实现的话将会使整个图像采集与处理的时间大大减少。
汽车车牌的定位识别需要对摄像机拍摄的含有汽车车牌的图片中的车牌的位置信息进行检测,并将检测结果输出,经过这样的预处理后,图像中车牌数据的获取就会变得相当省时省力了,处理时间的大大缩短对于对图像处理时间有严格要求的收费卡口以及交通路口来说是求之不得的。
2项目任务
本项目的主要任务是利用摄像机以及FPGA开发板,设计一个可以在交通路口和收费卡口对来往车辆的车牌进行预处理的系统,实现对车辆进行图像拍摄,并对图像中的车牌进行识别,输出车牌在图片中的位置坐标等信息。
3 方案设计
3.1 系统框图
本项目的系统框图如图1所示。电源及FPGA的Flash存储器等未画出来。
CMOS相机通过接口与FPGA内部的CMOS传感器数据获取模块相连,由数据获取模块配置相机并发送控制信号来控制相机采图。采得的图是Bayer格式的图像,为方便图像的存储与处理先将其转换为RGB格式的图像,然后将转换完后的RGB数据通过SDRAM控制器存储到SDRAM中。
图1 系统框图
同时,通过VGA控制器将存储在SDRAM中的数据利用DAC转换为符合VGA格式的模拟信号,然后通过显示器显示,这样就完成了图像的采集与显示。通过显示器显示是为便于实时了解图像处理的结果,易于算法设计者进行算法的设计与改进。
车牌定位是通过 Image Process模块实现的,处理完之后将提取的车牌坐标信息输出,可以通过USB传输到PC,也可以传输到DSP以进行后续处理。
3.2硬件平台各部分说明
3.2.1 FPGA开发板
本项目基于Nexys™3 Spartan-6 FPGA 开发板,核心处理器为Xilinx公司的 Spartan-6 FPGA。该项目会用到的板上主要资源为:
● Xilinx Spartan6 XC6LX16-CS324
● 16Mbyte Micron Cellular RAM
● 16Mbyte Micron Parallel PCM
● Digilent Adept USB2 port
● VHDC expansion connector
● 8-bit VGA
XC6LX16-CS324是Xilinx公司Spartan-6系列的FPGA,具有丰富的逻辑资源和存储资源,非常适合进行一些简单算法的实现。FPGA用于配置与控制Camera,通过Camera采集图像,获取Camera输出图像数据并将其存储到Cellular RAM,然后对图像数据进行处理。所有图像处理算法均在FPGA上实现。
Cellular RAM是一种PSRAM 设备,具备类似 SRAM 的架构、隐藏的刷新操作和 SRAM 管脚兼容性等特点。此混合内存集 SRAM 和 DRAM 的优点于一身,兼具低功耗与高速读写功能。由于FPGA内部存储空间有限,因此本项目用Cellular RAM缓存图像,这样就省去了人工刷新RAM的步骤,大大降低了数据存取的复杂度。
Digilent USB2 port用于为板卡提供电源,对FPGA进行编程和将车牌坐标信息传输到PC显示。
VHDC connector是为扩展板卡功能而预留的IO口,该项目用此接口连接Camera。
8-bit VGA接口用于将处理后的图像输出到显示器,以便直观的观察图像处理的效果。
3.2.2 CMOS相机
图像采集部分选用Terasic公司的TRDB-D5M系列彩色摄像头,该系列摄像头具有500万像素,具有2752x2004个总像素,其中有效像素为2592x1944个像素,多余的像素可以避免在进行图像处理时由于边缘梯度太大而可能导致的边缘效应。该系列相机的接口为数字接口,可以通过这些接口对相机的寄存器进行设置,从而调整相机的拍摄模式、焦距以及曝光时间等,可以与FPGA很好的配合,且操作方便、速度较快,相当适合做FPGA图像处理的图像获取设备。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉