基于DSP嵌入式实时图像处理系统的设计与实现

2013-09-19 05:44陈兴文
大连民族大学学报 2013年1期
关键词:图像处理算子边缘

刘 燕,陈兴文,李 敏

(大连民族学院信息与通信工程学院,辽宁大连116605)

随着计算机及通信技术的发展,图像和视频的应用愈加广泛。大部分图像数据在实际应用前皆需进行有针对性的处理,如根据图像数据特点和应用领域对图像进行增强、除噪、锐化和识别等。此外,为了有效实时地传输信息,还必须对图像进行压缩。图像处理技术尤其是实时处理,现已成为一个热门的研究方向。本研究旨在设计基于DSP的实时图像处理系统。在DSP的控制下,不借助任何微机系统即可实现对图像的采集、转换、处理以及显示等相关工作,即做到了“嵌入式”。具有体积小、成本低、工作可靠等优点。能根据对图像处理的不同要求,通过软件编程来完成相关的图像处理工作。

1 系统硬件结构设计

该数字图像处理系统主要由图像信号处理和图像视频采集显示两大模块构成,具体包括视频信号采集、逻辑控制、帧缓存、图像处理、图像数据传送及图像显示6部分[1-2]。硬件结构框图如图1。

视频信号的采集部分主要由CCD图像传感器及视频采集与解码功能于一体的SAA7111AHZ组成,逻辑控制部分由CPLD完成,图像处理部分以DSP为核心,图像传送部分主要通过EDMA通道使图像数据在DSP及缓存RAM间传送,图像显示部分将处理后的图像数据经过AL250芯片D/A转换后输出标准的VGA信号,在一般的显示器上即可显示。

图1 基于DSP的数字图像处理平台硬件结构图

1.1 DSP图像信号处理模块

该模块以TMS320C6416GLZ为核心,利用片内集成外设EDMA通道对图像视频采集显示模块采集到的输入RAM中的数据搬移到图像信号处理模块DSP片内RAM中,进行算法处理,然后将处理后的数据送回视频采集显示模块,经过AL250 D/A转换后输出标准的VGA信号显示。为了提高程序执行效率,必须将程序要用到的数据先由片外存储器调到片内数据RAM,利用EDMA与CPU并行工作的特点,采用PING-PONG技术,可作到如同数据总在片内数据RAM被处理,以提高运行速度[3-4]。

使用PING、PONG两个存储区,PING存储区主要进行算法处理,因此该区设在高速的片内数据RAM中,PONG存储区选用片外SDRAM,主要任务是缓存处理后的数据并将其传输到输出RAM。从输入RAM接收到的数据通过EDMA通道0传输到PING中,在此完成算法处理,然后将处理后的数据缓存到PONG中,与此同时EDMA通道1将PONG中的上次结果送到输出RAM。这样使得对数据处理的同时传输处理后的数据送显示。

1.2 存储模块

(1)外部存储器扩展。EMIF是外部存储器和C6416片内其他单元的接口,CPU访问片外存储器时必须通过EMIF,EMIF具有很强的接口能力,C6416的EMIFA支持8/16/32/64bit的数据访问,EMIFB支持8/16bit的数据访问。本系统利用EMIFA扩展两片SDRAM(Micron公司的MT48LC2M32B2TG),扩展后的存储容量为128Mbit,数据线64位宽。

(2)扩展的直接存储器访问(EDMA)。本系统充分利用了C6416中EDMA的优势,利用 EDMA实现片内存储器、片内外设,以及外部存储空间之间的数据搬移,完成整个系统的数据传输。由于EDMA可以进行独立操作,因而整个采样和输出过程基本不影响DSP的数据运算。在本系统中一帧图像需要占用512KB的存储空间,每帧图像分8场传输,每传输一场图像数据为64KB。在使用EDMA通道传输时,一场图像设置16K个数据单元,每个数据单元为32bit,在场同步信号的控制下,启动数据的传输。

1.3 视频采集与显示模块

视频采集显示模块集成了系统中采集、逻辑控制及图像显示三部分。该部分主要包括Philips公司的 SAA7111AHZ芯片,Averlogic公司的AL250芯片,并载有两片128KB(16bit宽)的双口RAM作为帧存储和一片用于控制时序和地址产生的CPLD,视频采集硬件结构如图2。

SAA7111AHZ芯片进行视频采集得到16bit的标准复合彩色数字信号,写入输入RAM中进行缓存,当采集完毕后,产生中断给DSP,通知DSP可以开始对图像进行处理了,此时,DSP读取当前场采集得到的图像数据,和前一场中采集得到的图像数据进行算法处理。处理后的数据写入输出RAM,经AL250芯片D/A转换后输出标准的VGA信号。由于SAA7111AHZ与AL250都是由IIC总线控制的,因此采用一单片机来控制IIC总线。

图2 视频采集硬件结构图

2 系统软件结构设计

系统软件采用模块化设计,分为系统初始化、图像数据传输以及图像处理3大部分。在系统完成了上电启动或复位后,DSP程序加载与启动,并完成系统的初始化以及各个参数的设置,即系统自举,随后开始等待外部中断,当触发搬移图象数据的外部中断INT4产生后,DSP启动SAA7111AHZ中采集到的数据自双口RAM搬移至内部RAM,数据传输完毕,随即产生EDMA中断,进入中断服务程序,对采集到的数据进行处理并送入双口RAM,经过AL250芯片D/A转换后输出标准的VGA信号便可以在一般的显示器上显示处理后的图象。具体的系统软件流程如图3。

图3 系统软件流程图

3 实验测试与分析

为了测试系统的功能,采用了经典的边缘提取算法验证。首先在系统硬件平台上采集到的待处理的原始图像如图4(a)。经典的边缘提取算子主要按照模板实现,由于模板不允许移出边界,因此对边界上无法进行操作的象素,复制其临近边缘的灰度值,例如在Sobel算子(33模板)中对边界象素进行如下处理:

void sobelfilter(Uint16* inputbuffer16,Uint16* outputbuffer16,int cols,int rows)

{

……

for(i=0;i<cols;i++)

*((Uint16*)outputbuffer16+i)=*((Uint16*)outputbuffer16+cols+i);

for(i=cols*rows-cols;i<cols*rows;i++)

*((Uint16*)outputbuffer16+i)=*((Uint16*)outputbuffer16-cols+i);}

对图4(a)原始图像进行不同的边缘提取算子处理后的图像分别如图4(b)、4(c)、4(d)。

图4 原始图像与处理后的图像

从处理后的图中可以直观的看出,Roberts算子边缘定位较高,Soble算子的边缘图中提取出的边缘数欠完整且受噪声干扰较大。LoG算子的边缘图中的边缘连续性很好,完整性也较优,但是LoG算子边缘较粗,主要因为在过滤噪声的同时将边缘平滑了,所以使得边缘相对较粗。

4 结语

本系统以TMS320C6416为核心构建了实时图像处理平台,并在所构建的图像处理平台上完成了边缘检测算法,实现了不借助微机任何资源即可完成对图像的采集、转换、处理以及显示等相关工作,大大降低了系统的成本,提高了工作的可靠性,具有较高的应用价值。

[1]许爽,索继东,赵继印.自动找点的掌纹图像定位分割方法[J].计算机工程与设计,2011(9):3102-3105.

[2]姜明新,王洪玉,蔡兴洋.基于码本模型和多特征的早期烟雾检测[J].中国图象图形学报,2012(9):1102-1108.

[3]张俊星,石立新,王都生.阈值自适应语音自动分割系统模型[J].计算机工程与设计,2010(8):1886-1889.

[4]肖瑛,冯长建.组合窗函数的短时傅里叶变换时频表示方法[J].探测与控制学报,2010(3):43-47.

猜你喜欢
图像处理算子边缘
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
一张图看懂边缘计算
基于图像处理的定位器坡度计算
在边缘寻找自我