一.项目概述
1.1 项目背景
数字图像处理自从出现以来,就一直是前沿的研究学科,经久不衰,同时随着数字化时代的到来,市场对于数字图像处理的需求也越来越大。因此,本项目------基于FPGA的多功能数字图像采集及处理平台主要是为各种需要进行数字图像处理的设备和应用而设计的, 例如, 医学上的CT, X-ray等图像增强及处理; 各种需要支持图像优化的数码设备等。 同时此平台也可用于数字图像处理相关课程的设计参考及教学演示。
1.2 项目优势
基于FPGA的多功能数字图像采集及处理平台是一个多用途,多功能的数字处理平台, 相比于其他同类设计,有以下优势:
1 采用可编程的FPGA进行设计,便于设计的更新,减少因此带来的升级费用;
2 本平台采用硬件实现,相比于采用DSP的软件实现方法,处理的速度更快;
3 各模块之间相互独立,便于设计的复用,经过简单处理后即可用于其它项目;
二.需求分析
2.1 功能分析
根据本项目的设计目标,本设计需要完成的功能有:
(1) 可以对输入的数字图像进行基本的图像增强,图像平滑,图像锐化,直方图均衡化,直方图标准化等操作,也可以进行频域相关的巴特沃思滤波,高斯滤波等操作。
(2) 可以通过组合各种不同的基本图像处理过程,完成诸如图像边沿检测等高级处理。
(3) 可以输入CMOS传感器转换的YCrCb格式图像数据,并转换为RGB格式。
(4) 可以通过USB接口提供数字图像处理器的图像数据进行处理。
(5) 可以将处理过的图像保存在Flash中,并且能够通过VGA显示处理过程中生成的图像。
三.方案设计
3.1 系统功能实现原理
本设计采用Xilinx公司的Nexys 3 Spartan-6 FPGA Board开发板,利用其上的Xilinx Spartan®-6 FPGA (XC6LX16-CS324) 的大容量逻辑资源完成各个模块。本设计总体硬件框图如图一所示。从图一中可以清楚地知道系统主要由USB设备控制单元,颜色空间转换单元,用户控制输入单元,总体控制单元,双口RAM控制单元,Flash控制单元,显示控制单元和图像处理单元组成。
系统的工作原理如下所述:总体控制单元根据用户控制输入单元选择双口RAM输入端的数据源,然后图像处理单元读出数据根据用户控制输入单元输出信号对图像进行相关的处理并输出到显示RAM中,由显示控制单元显示到VGA上,并根据用户输入是否保存到Flash中。各单元模块的具体说明请参考
3.2 硬件平台及资源配置
图一:总体硬件框图
3.2 硬件平台及资源配置
3.2.1 USB控制单元
USB控制单元是整个系统数据来源方式之一,在系统中占据重要位置。首先让我们看一下其组成框图,如图二所示。
图二:USB控制单元框图
由上图可知,USB控制单元主要由USB Packet Assemble/Dissemble,USB PL,USB FSM,EP Buffer组成。其中USB FSM主要实现USB功能设备,和Host Computer通信;USB Packet Assemble/Dissemble主要完成USB数据包的解包和打包,USB PL(USB Protocol Layer)实现USB协议;另外和USB PHY通信的模块未画出。
3.2.2 颜色空间转换单元
颜色空间转换单元完成将CMOS输入YCrCb格式数据转换成RGB数据的操作,其组成框图如图三所示。
图三:颜色转换单元
由YCrCb转换成RGB的格式如下:
R = Y + 1.371 * (Cr - 128);
G = Y - 0.698 * (Cr - 128) - 0.336 * (Cb - 128);
B = Y + 1.732 * (Cb - 128);
由于硬件实现特殊性,上式改为:
R = Y + 1403 * ( Cr - 128 ) /1024;
G = Y - 714* ( Cr - 128 ) /1024 - 344 * ( Cb - 128 ) /1024 ;
B = Y + 1773 * ( Cb - 128 ) /1024;
3.2.3 图像处理单元
图像处理单元是本系统中最重要的单元,主要完成数字图像处理相关的工作,如直方图均衡化,图象锐化,以及频率滤波等操作。其框图如图四所示:
图四:图像处理单元
图像处理单元有基本的数字图像处理模块如直方图均衡化,图象锐化,以及频率滤波等组成,可以根据用户的选择进行不同的组合来完成特定的任务或目的(如图像边沿检测等)。
3.2.4 其它控制单元
其他控制单元如总体控制单元,用户输入控制单元,双口RAM控制单元,Flash控制单元主要完成系统运行过程中的控制和流程控制等操作。
3.3 系统流程图
由以上系统各模块的分析,各模块功能及系统总体架构已经有整体了解,现在就介绍一下系统整体的运行流程情况。
系统整体流程图如图五所示:
图五:系统流程图
上图是简化了的系统流程图,可以看出系统中数据流经的主要路径。上电初始化后,根据用户控制输入单元选择双口RAM输入端的数据源,然后图像处理单元读出数据根据用户控制输入单元输出信号对图像进行相关的处理并输出到显示RAM中,由显示控制单元显示到VGA上,并根据用户输入是否保存到Flash中。
评论
查看更多