论文部分内容阅读
日常生活、工作中,人们经常通过视觉图像获取外界信息;工业控制中,也有很多场合需要采集图像数据进行实时处理。图像处理用到的算法大多运算量大,使用软件处理系统往往不能满足需求,而现场可编程门阵列(Filed Programmable Gate Array,FPGA)具有运行速度快、可编程、稳定性好、实时性好等优势,非常适合实现图像预处理算法。因此,研究基于FPGA的实时图像预处理系统具有深远的市场价值。本文的主要内容包括3个部分,第一部分是实时图像预处理系统的设计。该系统由四个模块组成,能完成对RGB565格式的图像捕获、解码、预处理、存储和显示。硬件方面使用的是资源非常丰富的Spartan-6系列的FPGA芯片,逻辑电路的软件设计是在Xilinx公司的ISE14.7上实现的。图像传感器使用的是豪威科技的30万像素OV7725数字摄像头,像素时钟为25MHz,能在高达每秒60帧的VGA格式下工作。预处理模块涉及均值滤波、中值滤波、边缘检测、腐蚀、膨胀等算法。存储模块利用Spartan-6自带内存控制块(Memory Controller Block,MCB)硬核控制器控制DDR3的读写,使用起来就像操作FIFO一样简单。显示模块采用高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)Sil9134芯片实现图像的实时显示,可以保证高质量的信号传送。第二部分是基于FPGA的图像均值、中值滤波算法的实现,算法的实现对硬件要求很高,阵列的获取、算法的处理、图像的存储都是难点。对比均值滤波结果图和中值滤波结果图,可以证明中值滤波比均值滤波效果更佳,不仅去除噪声,还保留了更多图像细节。第三部分是基于FPGA的自适应阈值边缘检测算法的实现,实现灰度图像边缘的检测,在边缘检测基础上又进行了腐蚀和膨胀的处理,对比二者结果,证明经过边缘检测—腐蚀—膨胀的图像效果更好,检测结果更清晰、边缘更加明朗。每一种预处理算法对应一个工程,每个模块代码均使用Verilog硬件描述语言编写,综合编译后,添加Testbench测试激励,然后在仿真软件Isim中进行功能仿真、调试,仿真完成后在Mis603硬件平台上进行验证。验证结果表明,该系统可以对CMOS图像传感器输出的图像进行实时预处理,并在显示器上进行实时、清晰、稳定的显示。该系统能实现30万像素每秒30帧的采集速率,实现对图像降噪的目的,可以弥补软件处理系统在速度和实时性上的不足,直接应用于工程实践中。后期将使用更高分辨率的图像传感器,并增加图像增强、旋转等处理。