谈述嵌入式图像处理系统的模块化软件设计

(整期优先)网络出版时间:2018-08-18
/ 2

谈述嵌入式图像处理系统的模块化软件设计

田壮

美的洗涤电器制造有限公司528311

摘要:嵌入式图像处理系统最大的特点是软件可配置、功能丰富、功耗成本低,且具备体积小、扩展性强等优势,能够实现设备的精准监测和控制,此在医疗设施、工程控制、气象监测及航空航天领域得到广泛应用。基于此,本文就从嵌入式图像处理系统的模块化软件设计展开分析。

关键词:嵌入式图像处理系统;模块化;软件设计

1、模块化软件总体设计

1.1硬件环境配置

本文选用的硬件设施主要由S3C2410处理器、SDRAM、Flash、SD卡、USB接口、RS232串口、以太网口、液晶屏及触摸屏组成。系统的硬件平台以S3C2410A为核心,图形数据的处理由其负责,并可以通过触摸屏完成人机交互,在LCD上进行图像显示,Flash闪存主要用作对数据的存储,保存系统数据,也可以利用SD卡接口将图像存放入SD卡中,以为后续查询和操作提供支撑。

1.2软件的开发平台

本文选用CCS集成开发环境对软件进行编辑、编译、调试、代码性能测试和项目管理,而DSP/BIOS是CCS之下的可裁剪的实时操作内核,其内含多种分析工具,可以实现多线程间的通信和同步,且在软件设计过程中,能够为实时应用提供底层软件,从而省略了实时应用系统的软件设计,简化了软件设计流程;同时,本文选用RF5作为软件开发代码参数框架,其以DSP/BIOS和XDAIS为基础,能够为软件设计提供动态创建和线程挂起功能,且利用其中的数据处理元素和数据通信元素即可实现模块化软件的快速开发。

1.3软件的结构组成

根据嵌入式图像处理系统的功能需求,应用模块化的软件应该包含初始化、视频捕获、图像处理及视频显示等4个功能模块,除了初始化模块外,其他3个模块均涵盖在RF5参考框架中的3个任务之中。

1.4软件的程序流程

结合系统功能需求,在RF5框架及DSP/BIOS开发环境下搭建了软件系统,其内含的视频捕获、图像处理及视频显示等功能模块应用了RF5框架下的3个任务,模块化软件的工作流程为:首先由主线程负责系统功能模块的初始化,而后将程序控制权交由DSP/BIOS的调度程序,由其依据任务权限完成相应任务的调度,依据该程序流程,在RF5参考框架下不同任务间的数据流程图下图所示。

首先,微驱动层通过控制两片视频解码芯片TVP5150和高速接口EDMA来完成视频捕获,并经GIO/FVID顶层类驱动,将数据输送至视频捕获任务申请的CapFramBuf捕获帧缓冲区中,视频捕获任务从CapFramBuf提出数据,将内含图像数据存放地址指针的SCOM消息存入图像处理任务的CaptoPro消息队列中,然后静待DistoCap队列中的图像显示完成消息。

消息获取后,驱动程序在接收到视频捕获任务结束的通知后将释放缓冲区,以实现新图像数据的获取。其次,图像处理模块在接收视频捕获任务的消息后,已知InBuf输入缓冲区中存在一帧数据,从中读取数据,执行处理算法后将所得数据放入OutBuf输出缓冲区,并将SCOM消息存入视频现实任务的ProtoDis消息队列中,然后静待CaptoPro消息队列中的视频捕获完成消息。

再次,视频显示模块接收处理任务通知后,将数据从OutBuf输出缓冲区中取出,将视频数据存入DisFramBuf显示帧缓冲区,驱动程序中的GIO/FVID顶层类驱动在接收现实任务通知后,从Dis-FramBuf显示帧缓冲区中提取数据,然后通过微驱动控制编码芯片SAA7105和EDMA接口来进行视频显示,然后将SCOM消息放入视频捕获任务的DistoCap消息列队中,静待ProtoDis队列中的图像处理完成。

2、模块化软件的程序实现

2.1初始化模块

软件设计的首要任务是初始化,其内容具体包含处理器和系统板的初始化,在设备重启后,通过TMS320DM642芯片的外围设备、指定寄存器,以软件配置的方式对外围设备进行选择和配置,同时此处还包含BIOS环境和CSL的初始化。设置大小为64KB的二级高速缓存且可以映射至外部存储器扩展接口EMIF的CE0和CE1空间,DMA优先级序列长度设置取最大值,二级高速缓存的请求优先级设置最高;视频捕获和显示通道的建立,是对微驱动中EDMA、视频端口、视频解码器TVP5150以及视频编码器SAA7105进行初始化和配置;RF5模块的初始化,是对RF5通道模块及RF5框架中用于内部单元或任务间通讯的ICC和SCOM模块进行初始化。

2.2视频捕获和显示模块

视频捕获的实现:视频捕获模块主要功能是将TVP5150外部视频解码器衍生出的数字视频信号及时收集至系统外扩的SDRAM存储器中,由此实现视频信息的采集。

视频显示的实现:视频显示模块可以采用编码形式将经过处理之后的图像转化为标准数字视频流,输出给SAA7105外部视频解码器并生成标准模拟视频信号予以显示。

为了更清晰地验证显示模块的可行性,本文在系统程序中构造彩条并对其输出结果进行显示,显示器与嵌入式图像处理卡通过VGA端子进行连接,然后编译、连接、下载程序并运行,此时在显示器上可以看到向左移动的彩条,验证了视频显示模块的有效性。

2.3图像处理模块

本文运用3×3高斯低通滤波器进行噪声的滤除,以一个点和周围几个点的平均运算来剔除突然变化的点,从而实现图像的平滑处理,而锐化处理则采用Laplace算子,设2f为Laplace算子,一幅离散的数字图像算子为:

图像锐化的目的在于增强图像的边缘或轮廓,为了验证Laplace算子在图形锐化处理中的有效性,本文在获取原始图像后,首先对其进行灰度转化,并使用直方图均衡化改善图像的视觉效果,最终再借助Laplace算子对图形进行空间域的增强,以便更加突出边缘和轮廓信息。对于边缘检测则采用LOG算子(高斯-拉普拉斯),其通过图像强度的二阶分析来检测图像的边缘点,该方法在经过上述平滑、锐化处理后,可提升算子对噪声和离散点的Robust,由此LOG算子诞生。

结束语

嵌入式图像处理系统是基于计算机技术的应用型系统,因其面向的对象是在特定环境下运行的,且操作系统具有实时性,能够满足各领域的应用需求,因而成为当前图像处理技术发展的主流,但是随着技术的进步、数据的激增,以及人们对于图像处理质量的高标准要求,系统的优化设计成为当务之急。

参考文献

[1]徐自远.嵌入式图像处理系统模块化软件的设计分析[J].电脑知识与技术,2015.

[2]赵星.嵌入式图像处理系统的模块化软件设计[J].电子设计工程,2016.

[3]蒋立丰.嵌入式图像处理系统的设计与研究[D].上海:东华大学,2013.