嵌入式图像处理系统的设计与实现.
- 格式:doc
- 大小:30.00 KB
- 文档页数:12
电子技术DM642嵌入式图像融合处理系统硬件设计研究郝雅婷,马立新(中国矿业大学,北京,100083)摘要:时代的进步使得嵌入式系统朝着更为智能的方向发展,DSP被人们广泛的应用到信号高速处理领域,特别是在图像处理加工领域能够为图像处理提供精准的数据支持。
为此,文章以图像融合硬件系统打造和技术实现为研究对象,将TMS320DM642芯片(以下简称DM642)作为核心处理器,就DM642嵌入式图像融合处理系统的架构、处理器内部配置、硬件设计问题进行探究。
关键词:DM642;嵌入式图像;融合处理系统;硬件设计在工业监督控制、机器视觉、医学影像处理领域会应用一些复杂的算法来进行多图像处理数据,基于这样的要求传统的图像处理系统很难满足系统处理要求。
文章面向实时图像处理,采用模块化的设计思想以新一代高性能多媒体专用DSP芯片DM642为核心,打造了体积小、能耗低、应用性强的嵌入式实时图像处理可拓展硬件平台。
1DM642嵌入式图像融合处理系统的总体架构设计DM642嵌入式图像融合处理系统是基于专用数字媒体应用的高性能32位定点芯片DM642进行设计开发的,系统以DM642为核心,由图像采集模块、图像处理模块、图像存储模块以及电源模块等构成。
系统的具体工作原理如下所示:在系统通电之后从FLASH加载程序,完成对DM642的初始化并通过FC总线来实现对视频编解码芯片的参数设定。
在设定好参数之后开展进行图像信息的采集整理,从四路图像传感器采集到的模拟图像信号经过解码转换成数字图像信号后会通过DM642视频接口传送到DSP 中,再经由内部图像处理后,通过DM642视频接口解码传出显ZBoDM642嵌入式图像融合处理系统总体架构如图1所示。
图1DM642嵌入式图像融合处理系统架构2DM642嵌入式图像融合处理系统的内部配置■2.1系统存储空间DM642嵌入式图像融合处理系统程序或者数据存储空间地址以字节为基本单位进行统一编写,整个寻址空间的大小为4G,片上存储器、片上外设、外部的储存器都能够映射到4G的字节空间中。
基于DSP和FPGA架构的嵌入式图像处理系统设计钟颖;张春侠;林玉野【摘要】针对图像处理要求运行复杂灵活的图像处理算法和大数据量的数据传输处理的要求,提出了一种基于DSP和FPGA架构的嵌入式图像处理系统,简要介绍了系统的工作原理,详细介绍了系统硬件设计方案和具体的电路组成,并针对FPGA 程序处理的难点和解决办法进行了说明,给出了时序仿真波形,最后利用目标复原算法对系统加以验证。
%According to the requirement of the complex and flexible processing algorithm and large-volume data transmitting in image processing,an embedded image processing system based on the framework of DSP and FPGA is presented.The working principle of system is introduced briefly,and system hardware design scheme and material circuitry are presented in detail in this paper.The difficulties and solutions in FPGA program processing are explained,and it gives timing simulation waveforms further.Finally the proposed system is validated by target restoration algorithm.【期刊名称】《电子设计工程》【年(卷),期】2011(019)022【总页数】4页(P21-24)【关键词】DSP;FPGA;嵌入式;图像处理【作者】钟颖;张春侠;林玉野【作者单位】北京航天自动控制研究所,北京100854;宇航智能控制技术国家级重点实验室,北京100854;北京航天自动控制研究所,北京100854;宇航智能控制技术国家级重点实验室,北京100854;北京航天自动控制研究所,北京100854;宇航智能控制技术国家级重点实验室,北京100854【正文语种】中文【中图分类】TP317.4随着数字化技术的不断发展和完善,嵌入式数字图像处理技术已广泛应用于工业、军事、生物、医疗、电信等领域,由于图像处理要求运行复杂灵活的图像处理算法和大数据量的数据传输处理,且实际应用中嵌入式系统实时性要求不断提高,要求硬件平台的处理速度快、灵活性强,基于DSP和FPGA架构的数字硬件系统可以把二者的优点结合在一起,已经成为嵌入式图像采集、处理硬件平台的首选方案。
基于嵌入式图像采集处理的QR码识别系统的研究的开题报告一、选题背景QR码是二维条码的一种,因其信息存储量大、易读、易识别、数据密度高等特点,成为日常生活中广泛使用的一种信息识别方式。
如今,QR码已被应用到电子商务、移动支付、物流管理、公共交通等众多领域。
因此,能够快速、准确地识别QR码的系统越来越受到人们的关注。
本项目拟设计并实现一种基于嵌入式图像采集处理的QR码识别系统。
该系统包括嵌入式图像采集、处理及QR码识别三个部分。
通过采用嵌入式系统和图像处理算法进行QR码识别,可以实现快速、准确、实时地实现QR码的识别,具有很强的实用价值。
二、研究目标1.设计并实现基于嵌入式系统的图像采集模块。
2.根据采集的图像数据,采用图像处理算法对图像进行分析。
3.实现QR码的快速、准确识别。
4.对于一些常见的QR码产生错误的情况,提出相应的优化措施。
三、研究内容1.嵌入式图像采集模块的设计与实现。
2.图像预处理:对采集到的嵌入式图像进行去噪、二值化等预处理。
3.QR码分割:采用边缘检测算法对预处理后的图像进行分割,分离出QR码。
4.QR码解码:基于QR码的编码原理,采用解码算法对QR码进行解码,获得二进制数据。
5.系统优化:针对一些常见的QR码识别出错情况,例如扭曲变形、遮挡等,提出相应的优化措施。
四、研究方案1.硬件平台:选择一款嵌入式系统,例如树莓派或者Orange Pi等,作为开发硬件平台。
2.软件平台:使用Python语言进行开发,采用OpenCV库对图像进行处理。
3.图像预处理:使用OpenCV库提供的滤波函数对图像进行去噪;采用基于OTSU算法的自适应二值化算法将图像转换为二值图像。
4.QR码分割:在二值化后的图像中,利用轮廓检测等算法进行QR码分割。
5.QR码解码:针对QR码的加密方式,采用解码算法对QR码进行解码,获得有效信息。
6.系统优化:针对一些常见的识别错误情况,例如扭曲变形、遮挡等,可以采用二次校验等优化措施,提高识别精度。
嵌入式系统的图像处理技术应用嵌入式系统是一种整合了计算机硬件和软件的特殊计算机系统,它被设计用于特定的任务,通常用于控制、监测和实时处理。
图像处理技术是嵌入式系统中广泛采用的一种技术,它能够对图像进行获取、传输、解析和分析。
本文将介绍嵌入式系统中图像处理技术的应用,包括医疗、工业、军事和智能监控等领域。
首先,图像处理技术在医疗领域起着重要作用。
通过嵌入式系统,医疗设备可以对患者进行图像扫描、解析和分析,帮助医生进行诊断和治疗。
例如,X光机、核磁共振(MRI)和计算机断层扫描(CT)等医疗设备都采用了图像处理技术,这些设备可以将人体内部的结构和病变以图像的形式呈现出来,辅助医生进行疾病的诊断。
其次,嵌入式系统的图像处理技术在工业领域也得到了广泛应用。
工业生产过程中,图像处理技术可以用于产品的质量控制和检测。
通过对产品图像的拍摄和分析,嵌入式系统可以对产品进行外观、尺寸和缺陷等方面的检测,提高产品质量和生产效率。
此外,图像处理技术还可以用于机器视觉系统的实现,即通过嵌入式系统对物体进行视觉感知和识别,使机器能够根据不同的情境和任务进行智能操作。
第三,图像处理技术在军事领域的应用也十分重要。
军事装备通常需要与环境进行感知和交互,图像处理技术能够通过摄像头和相关算法实现对敌方目标的识别、追踪和打击等功能。
嵌入式系统可以在军事装备中嵌入这些技术,实现对目标的自动探测和打击,提高作战的精确度和效率。
此外,图像处理技术还可以用于无人机和自动驾驶车辆等军事装备的导航和感知,提供更精准和高效的军事作战手段。
最后,图像处理技术在智能监控领域也得到了广泛应用。
智能监控系统通过嵌入式系统和图像处理技术,可以对安防事件进行实时监测和分析。
例如,监控摄像头可以对视频图像进行智能分析,识别出异常行为和威胁物体,并及时发送报警信息。
此外,智能监控系统还可以通过图像识别和身份验证等技术,对进出人员和车辆进行识别和管理,提高安全性和管理效率。
嵌入式SOPC实时图像处理技术研究摘要:嵌入式SOPC技术的出现,该系统不仅体积小,而且能耗小,可靠性好,电磁兼容性好,可重构性好,为嵌入式系统的发展开辟了新的途径。
本文以SOPC嵌入式系统为背景,着重于嵌入式 SOPC系统的软硬件协同设计技术的研究;在此基础上,结合 SOPC系统的发展趋势,提出了基于嵌入式 SOPC系统的硬件协同设计方法,阐述了嵌入式SOPC关键技术。
关键词:嵌入式SOPC;图像处理系统;软件开发0 引言目前,图像处理主要采用软件技术,但是随着最新的技术发展,可以采用SOPC技术对复杂的硬件进行精细的处理,将图像处理算法嵌入 FPGA芯片;将Nios1I芯片嵌入到图像处理系统中,可以大大加快图像处理的速度。
由于SOPC技术支持软/硬协同工作,所以,对人机接口,系统管理和常规功能都可以由软件完成。
1 整个系统的总体规划与软硬件的开发系统对SOPC技术在 FPGA芯片上的便携图像采集和数据的需求。
该系统可以将所获取的海量载体信息通过 USB接口或RS-232接口向 PC和 GPRS发送,并将所获取的新信息发送到数据中心进行验证。
该系统以Nios1I为核心的 FPGA为核心,周边设备及芯片由图像采集装置、显示器及片外 SDRAM、 FLASH存储器、输入设备等组成。
该系统的工作流程为:在完成系统的组态后,通过视频采集,将各画面进行变换,形成相应的影像资料,然后输入到 SDRAM中;Nios1I处理器负责后续的处理与控制。
通过数字模拟变换,将处理后的图像实时地显示在显示器上。
1.1图像采集接口电路设计该系统使用OV7640数字彩色CMOS图像传感器,美国 OmiVision。
本芯片具有640x480的分辨率,每秒30帧的图像,采用逐行扫描的方法,以数字信号的形式输出。
该方法主要包括:NIOS对OV7640中的各个内存进行初始化,并进行查询和等候,OV7640将条形图采集到数据存储中,再以 DMA形式存储;NIOS将从SDRAM中抽取并解码。
43682009,30(19 计算机工程与设计Computer Engineering and Design0引言传统的图像处理技术主要依赖于大批量的电子计算机设备,大批量的电子设备在使用和保养时产生巨大的经费开支,增加行业成本。
而嵌入式设备成本低、能耗小、可靠性高、体积小、重量轻以及维护使用方便等诸多优势。
将嵌入式技术与图像处理结合可以开发出成本更低,可控性、可移动性及可靠性更佳的嵌入式图像处理系统。
1硬件平台设计本系统的硬件平台是标准的通用嵌入式平台,其基本构成有嵌入式中央处理器(三星44B0X 、输入输出系统(9键的小键盘和4.3寸液晶显示触摸屏和存储体系(同普通的PC 一样也具有三层存储体系:缓存(位于处理器中、内存(SDARM 以及外存(NandFlash 以及各种通信和调试接口。
具体如图1所示的硬件平台体系结构。
嵌入式系统不同与一般的PC ,一般不能直接接受来自键盘的命令,本系统中使用ucos 系统软件平台,所以也没有Shell 。
本系统在上电或者复位时,将自动执行ROM 中的Boot-Loader (存于NorFlash 的固定地址:0x0 ,BootLoader 将对系统进行标准自检,若自检通过,则将自动引导位于NandFlash 中的二进制文件,其文件名固定为System.bin 。
该文件即为嵌入式图像处理软件系统的镜像文件,自此图像处理系统启动运行。
2嵌入式图像处理软件系统设计2.1总体设计思想本系统主要解决的问题就是图像处理如何在嵌入式环境收稿日期:2008-10-12;修订日期:2009-08-05。
嵌入式系统工程宋凯,严丽平,甘岚:嵌入式图像处理系统的设计与实现2009,30(19 4369下的实现,由于嵌入式环境的特性(比如可供选择的编程语言较少,可供使用的API 较少等,所以笔者需要着力解决的问题是通用接口(比如BMP 文件的读入以及常用算法的移植。
为了提高工组效率以及本软件系统的可移植性,笔者决定将常用的接口及图像处理算法均以API 的形式封装起来。
这样在以后的开发工作中,只要调用封装后的API 即可,可以提高系统的通用性。
2.2功能模块设计基于前面的阐述,本系统采用模块化设计,每个模块包含了一类图像处理的算法,而单个模块中的每个算法在执行时只需调用封装好的API 即可。
具体的功能模块设计是将算法分为7大模块:图像几何变换、边缘检测及轮廓跟踪、直方图修正、半影调和去抖动、图像彩色变换、图像平滑锐化和腐蚀膨胀细化算法。
在这7大系统模块下面,再进行到每一级算法的映射。
7个模块构成了系统的主体。
主层次结构如图2所示。
另外在每个模块中有包含了多个图像处理算法,比如图像几何变换模块就含有8种算法,其结构如图3所示。
另外的6个模块其设计与之相似,不再赘述。
2.3系统的实现与运行基于上文的阐述,本软件系统的具体实现工作主要包括:文件的读入、算法移植封装以及通用接口的实现等。
下文将具体介绍实现工作。
2.3.1BMP 文件的读入在嵌入式平台上,并没有现成的BMP 文件的库函数可以使用。
因此,如何把一个BMP 文件读入到内存中是进行图像处理算法移植的根本前提。
本系统中,主要处理的图像有两大块:真彩图和256色的图像(包括256级灰度图,因此对应设计了两个BMP 文件的读入函数。
文件的读入是每个算法都需要的,因此将这两个函数放在Graphic.h 和Graphic.c 中,以备后续的开发使用。
下面是本文设计的两个图像数据读取公共函数:GetTruePixel (char bmpname [],U32color [240][320],int *ma-pwidth,int *mapheight ;Get256Pixel (char bmpname [],U8colorbuf [240][320],U32pale [256],int*mapwidth,int*mapheight函数1用于将一个名称为bmpname []的真彩图像数据读入color [][]矩阵,同时获得图像的宽和高;函数2用于将一个名称为bmpname []的256色图像数据读入colorbuf [][]矩阵,同时,对应的调色板数据读入pale []矩阵中并获得图像的宽和高。
2.3.2算法移植本文中所涉及的图像处理算法都是原有的成熟算法,其数学变换的过程都是固定的,笔者的工作就是将这些算法用C 语言实现并封装成API 的形式以供调用,这个过程相对简单,在此不作赘述。
2.3.3层次图形界面的实现为了提供良好的人机界面,本系统设计实现了层次化接口,各级接口以图形方式显示,通过触摸屏或键盘消息进行分支响应,下面以主界面接口为例介绍层次化图形界面的实现。
对于整个系统来说,这一部分是核心,它承接了引导界面,并向下发展了各个不同的框架算法。
从整体看来,它的作用就是承上启下,将嵌入式系统一次有限的处理进行分级映射。
本接口与引导界面的最大不同是在它的消息处理上面,它向下连接了7个二级界面,再加上一个返回的处理,就需要对产生消息的参数做出8种不同的决断。
在本级的处理中,还要注意程序设计中的问题,即如何返回上一级以及如何做好下一级向本级的返回。
在确定完一些实现细节以后,即可以进行具体算法接口的实现了。
出于篇幅的考虑,本文只对其中的一个接口代码进行说明,需要指出的是,接口连接程序的调用需要等待事件的触发,因此,下面的代码都是在一个等待消息的无限循环之中的。
(1 message=WaitMessage(0 ;(2 switch (message->Message{(3 case OSM_TOUCH_SCREEN:(4 position1.x=message->WParam&0xffff;(5 position1.y=message->WParam>>16;(6 if (IsInRect2(prect1,pposition1{(7 ClearScreen (;(8 Menu31(pdc ;(9ClearScreen (;(10 ShowBmp (pdc,bmpname10,0,0 ; (11}(12 else if第1行代码是等待消息,然后进行消息判断,如果满足第3行消息的类型(触摸屏消息则提取出本消息的两个主要参数:触摸点的横坐标与纵坐标;得到消息参数之后,便进入了各个接口程序的分支判断,根据判断结果转入相应的分支进行函数调用。
所以说,上面这段程序中,第8行可以看作是接口部分,它的上下都是接口连接之前的一些必要处理。
下面是键盘的处理:(1…(2 case OSM_KEY:图2主体选择界面算法选择主体界面图像几何变换边缘检测轮廓跟踪直方图修正半影调和去抖动图像彩色变换图像平滑锐化腐蚀膨胀及细化图3图像几何变换界面图像旋转垂直镜像水平镜像图像平移真彩图缩放真彩图转置43702009,30(19 计算机工程与设计Computer Engineering and Design(3 keyvalue=onkey(message->WParam ; (4 switch (keyvalue {(5 case'1':ClearScreen(; (6 Menu31(pdc ; (7 ClearScreen (;(8 ShowBmp (pdc,bmpname10,0,0 ; (9break;这一部分第2行是承接触摸屏那段代码的switch 语句的,如果是键盘消息(OSM_KEY ,则转入执行键盘的判断处理,在提取参数方面,键盘的键值要经过我们事先定义好的一个函数的处理。
这个函数的功能就是对键盘的键值进行转换,即由读入的参数向ASCII 码的转化,这个转化不是固定哪一部分的字符的,可以根据自己的习惯进行定义。
经过键盘参数的处理以后,可以对这个参数进行判断;当条件满足时,就可以执行相关的接口函数了。
这部分跟触摸屏差不多,调用函数是在第6行。
2.3.4文件的选择基于ucos 的嵌入式系统的一个缺点就是在独立运行的时,用户难以干预到系统的后台,这给某些嵌入式软件的实现带来了很大的不便。
对于本系统而言,需要处理的图像文件如果不能够由用户选择,那么该系统将在很大程度上失去应用价值,因为在那种情况下,文件的名称只能由系统在定义的时候给出,导致系统的每一个算法在执行的时候局限于系统指定的某一个图像,如果用户想要更改加工对象,只有一个办法:改变系统的代码。
这显然是软件设计中很大的忌讳。
从这一角度出发,引入文件读入是非常有必要的。
从随后的实现来说,这一部分实际上也是一个层级,它向上承接了算法选取,向下引出了图像算法的具体执行,它完成的功能就是预览文件和选取文件。
仿照用户的操作习惯,首先应该列出flash 中的所有bmp 文件:(1 while (ListNextFileName (&filepos,FileExName,filename{(2 strChar2Unicode (Ufilename,filename ;//将文件名转换为Unicode(3 AddStringListCtrl (pMainListCtrl, Ufilename ;//向列表框中添加表项(4 strcpy (BmpFile [i ],filename ;//将文件名存入文件名数组(5 strncat (BmpFile [i++],FileExName,3 ;这一段代码主要涉及到几个存放文件名称的数组,由于是bmp 文件,扩展文件名是一样的,定义为FileExName []={'B',' M','P', 0}即可,其它部分需要独立记录在文件名数组BmpFile 中。
程序中的关键是第一行中循环的控制,它用到了系统的一个API 。
在列出文件名称以后,接下来就是消息处理,消息判断处理前面已经论述很详细了,不再具体给出,我们下面着重讨论消息的处理判断:(1 if (pMsg->WParam==14(2 {(3 ClearScreen (;(4ShowBmp (pdc, BmpFile [pMainListCtrl->CurrentSel],0, 0 ;//显示图片(5 ReDrawOSCtrl (;//重画控件(6 break;(7 }(8 if (pMsg->WParam==7 (9 {(10 for (j=0;j<12;j++(11 bmpname [j ]=BmpFile[pMainListCtrl->CurrentSel][j ]; (12 return; (13}这里只需要对两个按键进行判断:Enter 键和0键。