基于多处理单元的数字图像处理电路的研究
【摘要】: 数字图像处理是近几十年来蓬勃发展起来的一门先进技术,其含义就是利用数字计算机对图像进行加工处理,以得到某些预期的效果,或从图像中提取某些有用的信息。数字图像处理技术自出现以来,发展非常迅速,目前已经成为工程学、计算机科学、信息科学等众多领域学习和研究的对象。它的发展和应用给人类带来了巨大的经济和社会效益。数字图像最主要的特点是图像信息量大,因此图像处理最主要的一个因素也就是处理的速度问题。现在已经有多种比较成功的图像处理技术,涉及DSP、FPGA和ARM等多个方面,但是由于各种硬件所固有的优缺点,这些技术在处理上存在优势的同时,也同样存在一些不足。 本文首先介绍了数字图像处理的一些基础知识,包括几种常见的数字图像格式和常用的数字图像处理算法,其中图像处理算法以图像的边缘检测算法为主。然后对现有的几种数字图像处理技术从硬件结构和处理速度方面进行了比较研究,包括单DSP核和多DSP核的技术,指出各种技术所存在的优缺点,介绍了数字图像并行处理的一些基础知识,在此基础上,提出了一种新的数字图像处理系统实现方法,即多处理单元的硬件结构,以提高系统处理速度为主要目的,采用指令集的控制方式,以满足多种数字图像处理算法的要求。接着,对系统的几个主要部分的设计进行了分析,从速度和面积两个方面进行了考虑,给出了具体的设计方案。之后,在系统方案分析的基础上,完成了系统的各个模块的具体设计和验证,并给出了各个模块的具体结构和验证结果,其中系统的设计验证均采用VerilogHDL语言来实现。设计完成后,通过编写相应的指令代码和测试文件,用一个基于Sobel算子的图像边缘检测算法来验证整个系统的功能正确性。系统设计过程中充分考虑了速度和面积的因素,针对性地进行了结构上的改进。最后,提出了本系统所存在的不足,指出所要完成的后续工作。 本文是在对现有的几种数字图像处理器的结构进行比较研究的基础上提出自己的设计思想的,所以本文的重点在于对系统方案的分析和实现上,主要包括处理阵列部分、存储部分以及主控制部分的分析和实现,设计的难点在于主控制器部分的指令译码及执行。
【关键词】:数字图像处理 并行处理 处理阵列 VerilogHDL 指令集
【目录】:
致谢
中文摘要
绪论
数字图像处理概述
数字图像处理技术的发展历史及现状
本文的任务
多处理单元数字图像处理电路的原理
数字图像格式
数字图像处理算法
数字图像处理技术的比较研究
基于单DSP内核的处理技术
基于多DSP内核的处理技术
数字图像并行处理的基础
多处理单元的数字图像处理电路的设计思想
本章小结
多处理单元数字图像处理电路的方案分析
处理阵列部分设计分析
存储阵列部分设计分析
系统主控制器的设计分析
系统设计方案
本章小结
多处理单元数字图像处理电路的实现
系统设计语言
系统设计工具介绍
ModelSim
简介
Quartus Ⅱ
简介
多处理单元数字图像处理电路的详细设计
串并转换单元
处理阵列部分
存储阵列部分
主控制器部分
输出控制模块
系统外围模块的设计
系统的功能验证
本章小结
结束语
参考文献
附录
数字图像处理算法很多,LZ要哪方面的算法的啊
摘 要
本文详细介绍了多变量预测控制算法及其在环境试验设备控制中的应用。由于环境试验设备的温度和湿度控制系统具有较大的时间滞后,而且系统间存在比较严重的耦合现象,用常规的PID控制不能取得满意的控制效果。针对这种系统,本文采用了多变量预测控制算法对其进行了控制仿真。
预测控制算法是一种基于系统输入输出描述的控制算法,其三项基本原理是预测模型、滚动优化、反馈校正。它选择单位阶跃响应作为它的“预测模型”。这种算法除了能简化建模过程外,还可以通过选择合适的设计参数,获得较好的控制效果和解耦效果。
本文先对环境试验设备作了简介,对控制中存在的问题进行了说明;而后对多变量预测控制算法进行了详细的推导,包括多变量自衡系统预测制算法和多变量非自衡系统预测控制算法;然后给出了系统的建模过程及相应的系统模型,在此基础上采用多变量预测控制算法对环境试验设备进行了控制仿真,并对仿真效果进行了比较。
仿真结果表明,对于和环境试验设备的温度湿度控制系统具有类似特性的多变量系统,应用多变量预测控制算法进行控制能够取得比常规PID控制更加令人满意的效果。
关键词:多变量系统;预测控制;环境试验设备
【中文摘要共100—300个字,关键词3—7个词
中文摘要和关键词占一页】
【英文全部用Times New Roman字体】
Abstract 【三号字体,加粗,居中上下空一行】
【正文小四号字体,行距为固定值20磅】
In this paper, multivariable predictive control algorithm and its application to the control of the environmental test device are introduced particularly. The temperature and humidity control system of the environmental test device is characterized as long time delay and severe coupling. Therefore, the routine PID control effect is unsatisfactory. In this case, the simulation of the temperature and humidity control of the environmental test device based on multivariable predictive control algorithm is made.
Predictive control algorithm is one of control algorithm based on description of system’s input-output. Its three basic principles are predictive model, rolling optimization and feedback correction. It chooses unit step response as its predictive model, so that the modeling process is simplified. In addition, good control and decoupling effects could be possessed by means of selection suitable parameters.
In this paper, the environmental test device is introduced briefly and the existing problems are showed. Then multivariable predictive control algorithm is presented particularly, including multivariable auto-balance system predictive control algorithm and multivariable auto-unbalance system predictive control algorithm. Next, system modeling process and corresponding system model are proposed. Further, the multivariable predictive control algorithm is applied to the temperature and humidity control system of the environmental test device. Finally, the simulation results are compared.
Results of the simulation show that multivariable predictive control algorithm could be used in those multivariable system like the temperature and humidity control system of the environmental test device and the control result would be more satisfactory than that of the routine PID control.
Keyword: Multivariable system; Predictive control; Environmental test device
【英文摘要和关键词应该是中文摘要和关键词的翻译
英文摘要和关键词占一页】
【目录范例,word自动生成】
目 录
第一章 绪 论 1
1.1 引言 1
1.2 数字图像技术的应用与发展 1
1.3 问题的提出 3
1.4 论文各章节的安排 4
第二章 数字图像处理方法与研究 5
2.1 灰度直方图 5
2.1.1 定义 5
2.1.2 直方图的性质和用途 5
2.2 几何变换 8
2.2.1 空间变换 8
2.2.2 灰度级插值 8
2.2.3 几何运算的应用 10
2.3 空间滤波增强 10
2.3.1 空间滤波原理 10
2.3.2 拉普拉斯算子 11
2.3.3 中值滤波 12
2.4 图像分割处理 13
2.4.1 直方图门限化的二值分割 14
2.4.2 直方图的最佳门限分割 14
2.4.3 区域生长 16
第三章 图像处理软件设计 18
3.1 图像处理软件开发工具的选择 18
3.1.1 BMP图像格式的结构 18
3.1.2 软件开发工具的选择 19
3.2 EAN-13码简介 20
3.2.1 EAN-13条码的结构 20
3.2.2 条码的编码方法 21
3.1 系统界面设计 22
第四章 条码图像测试 24
4.1 条码图像处理的主要方法 24
4.2 条码图像测试结果 25
第五章 总结与展望 28
参考文献 29
当先验概率相等,即 时,则
(2.33)
恰为二者均值。
以上分析可知,只要 和 已知以及 和 为正态,容易计算其最佳门限值T。
实际密度函数的参数常用拟合法来求出 参数的估值。如最小均方误差拟合估计来会计 参量,并使拟合的均方误差为最小。例如,设想理想分布的密度为正态 ,实际图像直方图为 ,用离散方式其拟合误差为
(2.34)
式中N为直方图横坐标。通常这种拟合求密度函数的几个参数很难解,只能用计算机求数值解,但若 为正态分布时只需求均值和标准差二参数即可。
2.4.3 区域生长
区域生长是一种典型的串行区域分割技术,在人工智能领域的计算机视觉研究中是一种非常重要的图像分割方法,其主要思想是将事先选中的种子点周围符合某种相似性判断的像素点集合起来以构成区域。在具体处理时,是从把一幅图像分成许多小区域开始的,这些初始小区域一般是小的邻域,甚至是单个的像素点。然后通过定义适当的区域内部隶属规则而对周围像素进行检验,对于那些符合前述隶属规则的像素点就将其合并在内,否则将其据弃,经过若干次迭代最终可形成待分割的区域。在此提到的“内部隶属规则”可根据图像的灰度特性、纹理特性以及颜色特性等多种因素来作出决断。从这段文字可以看出,区域生长成功与否的关键在于选择合适的内部隶属规则(生长准则)。
对于基于图像灰度特性的生长准则,可以用下面的流程对其区域生长过程进行表述,如图2.6所示。
图 2. 6 区域生长流程图
第三章 图像处理软件设计
3.1 图像处理软件开发工具的选择
3.1.1 BMP图像格式的结构
数字图像存储的格式有很多种,如BMP、GIF、JPEG、TIFF等,数字图像处理中最常用的当属BMP,本课题采集到的图片也是用BMP格式存储的,要对这种格式的图片进行处理,那么首先就要了解它的文件结构。
(1)BMP文件格式简介
BMP(Bitmap-File)图形文件是Windows采用的图形文件格式在Windows环境下运行的所有图象处理软件都支持BMP图像文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把这种BMP图像文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图像文件与显示设备无关,因此把这种BMP图像文件格式称为设备无关位图DIB(device-independent bitmap)格式,目的是为了让Windows能够在任何类型的显示设备上显示所存储的图像。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。
(2)BMP文件构成
BMP文件由位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、颜色信息(color table)和图形数据四部分组成。它具有如表3.1所示的形式。
表 3. 1 BMP位图结构
位图文件的组成 结构名称 符号
位图文件头(bitmap-file header) BITMAPFILEHEADER bmfh
位图信息头(bitmap-information header) BITMAPINFOHEADER bmih
颜色信息(color table) RGBQUAD aColors[]
图形数据 BYTE aBitmapBits[]
3.1.2 软件开发工具的选择
(1)Win32 API
Microsoft Win32 API(Application Programming Interface)是Windows的应用编程接口,包括窗口信息、窗口管理函数、图形设备接口函数、系统服务函数、应用程序资源等。Win32 API是Microsoft 32位Windows操作系统的基础,所有32位Windows应用
程序都运行在Win32 API之上,其功能是由系统的动态链接库提供的。
(2)Visual C++
Visual C++是Microsoft公司出品的可视化编程产品,具有面向对象开发,与Windows API紧密结合以及丰富的技术资源和强大的辅助工具。Visual C++自诞生以来,一直是Windows环境下最主要的应用开发系统之一,Visual C++不仅是C++语言的集成开发环境,而且与Win32紧密相连,所以利用Visual C++可以完成各种各样的应用程序的开发,从底层软件直到上层直接面向用户的软件。Visual C++是一个很好的可视化编程环境,它界面友好,便于程序员操作。
Visual C++可以充分利用MFC的优势。在MFC中具有许多的基本库类,特别是MFC中的一些,利用它们可以编写出各种各样的Windows应用程序,并可节省大量重复性的工作时间,缩短应用程序的开发周期。使用MFC的基本类库,在开发应用程序时会起到事半功倍的效果。
Visual C++具有以下这些特点:
简单性:Visual C++中提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具用于帮助用户快速的建立自己的应用程序,大大简化了应用程序的设计。使用这些技术,可以使开发者编写很少的代码或不需编写代码就可以开发一个Windows应用程序。
灵活性:Visual C++提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,Visual C++提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。
可扩展性:Visual C++提供了OLE技术和ActiveX技术,这种技术可以增强应用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C++中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。
(3)MFC
MFC(Microsoft Foundation Class)是Microsoft公司用C++语言开发的一套基础类
库。直接利用Win32 API进行编程是比较复杂的,且Win32 API不是面向对象的。MFC封装了Win32 API的大部分内容,并提供了一个应用程序框架用于简化和标准化Windows程序的设计。MFC是Visual C++的重要组成部分,并且以最理想的方式与其集成为一体。主要包括以下各部分:Win32 API的封装、应用程序框架、OLE支持、数据库支持、通用类等。
3.2 EAN-13码简介
人们日常见到的印刷在商品包装上的条码,自本世纪70年代初期问世以来,很快得到了普及并广泛应用到工业、商业、国防、交通运输、金融、医疗卫生、邮电及办公室自动化等领域。条码按照不同的分类方法,不同的编码规则可以分成许多种,现在已知的世界上正在使用的条码就有250种之多。本章以EAN条码中的标准版EAN-13为例说明基于数字图像处理技术,对EAN条码图像识别的软件开发方法。
EAN码是国际物品编码协会在全球推广应用的商品条码,是定长的纯数字型条码,它表示的字符集为数字0~9。由前缀码、厂商识别代码、商品项目代码和校验码组成。前缀码是国际EAN组织标识各会员组织的代码,我国为690~695;厂商识别代码是EAN会员组织在EAN前缀码的基础上分配给厂商的代码;商品项目代码由厂商自行编码;校验码上为了校验前面12位或7位代码的正确性。
3.2.1 EAN-13条码的结构
EAN-13码是按照“模块组合法”进行编码的。它的符号结构由八大部分组成:左侧空白区、 起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符及右侧空白区,见表3.2。尺寸:37.29mm ×26.26mm ;条码:31.35mm ;起始符/分隔符/终止符:24.50mm ;放大系数取值范围是0.80~2.00;间隔为0.05。
表 3. 2 EAN-13码结构
左侧
空白区 起始符 左侧
数据符 中间
间隔符 右侧
数据符 校验符 终止符
右侧
空白区
9个
模块 3个
模块 42个
模块 5个
模块 35个
模块 7个
模块 3个
模块 9个
模块
EAN-13码所表示的代码由13位数字组成,其结构如下:
结构一:
X13X12X11X10X9X8X7X6X5X4X3X2X1
其中:X13~X11为表示国家或地区代码的前缀码;X10~X7为制造厂商代码;X6~X2为商品的代码;X1为校验码。
结构二:
X13X12X11X10X9X8X7X6X5X4X3X2X1
其中:X13~X11为表示国家或地区代码的前缀码;X10~X6为制造厂商代码;X5~X2为商品的代码;X1为校验码。
在我国,当X13X12X11为690、691时其代码结构同结构一;当X13X12X11为692
时其代码结构为同结构二。
EAN条码的编码规则,见表3.3:
起始符:101;中间分隔符:01010;终止符:101。
A、B、C中的“0”和“1”分别表示具有一个模块宽度的“空”和“条”。
表 3. 3 EAN条码的编码规则
数据符 左侧
数据符 右侧
数据符
A B C
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 011101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100
3.2.2 条码的编码方法
条码的编码方法是指条码中条空的编码规则以及二进制的逻辑表示的设置。众所周知,计算机设备只能识读二进制数据(数据只有“0”和“1”两种逻辑表示),条码符号作为一种为计算机信息处理而提供的光电扫描信息图形符号,也应满足计算机二进制的要求。条码的编码方法就是通过设计条码中条与空的排列组合来表示不同的二进制数据。一般来说,条码的编码有两种:模块组合和宽度调节法。
模块组合法是指条码符号中,条与空是由标准宽度的模块组合而成。一个标准宽度的条表示二进制的“1”而一个标准的空模块表示二进制的“0”。商品条码模块的标准宽度是0.33mm ,它的一个字符由两个条和两个空构成,每一个条或空由1~4个标准宽度模块组成。
宽度调节法是指条码中,条与空的宽窄设置不同,用宽单元表示二进制的“1” ,而用窄单元表示二进制的“0”,宽窄单元之比一般控制在2~3之间。
3.1 系统界面设计
本文图像处理软件基本功能包括读取图像、保存图像、对图像进行处理等。图3.1所示为本图像处理软件的界面。
图 3. 1 软件主界面
软件设计流程图如图3.2所示。
图 3. 2 程序设计流程图
第四章 条码图像测试
4.1 条码图像处理的主要方法
(1)256色位图转换成灰度图
运用点处理中的灰度处理为实现数字图像的阈值变换提供前提条件。要将256色位图转变为灰度图,首先必须计算每种颜色对应的灰度值。灰度与RGB颜色的对应关系如下:
Y=0.299R+0.587G+0.114B (4.1)
这样,按照上式我们可以方便地将256色调色板转换成为灰度调色板。由于灰度图调色板一般是按照灰度逐渐上升循序排列的,因此我们还必须将图像每个像素值(即调色板颜色的索引值)进行调整。实际编程中只要定义一个颜色值到灰度值的映射表bMap[256](长为256的一维数组,保存256色调色板中各个颜色对应的灰度值),将每个像素值p(即原256色调色板中颜色索引值)替换成bMap[p]。
(2)灰度的阈值变换
利用点运算中的阈值变换理论将灰度图像变为二值图像,为图像分析做准备工作。灰度的阈值变换可以将一幅灰度图像转变为黑白二值图像。它的操作是先由用户指定一个阈值,如果图像中某像素的灰度值小于该阈值,则将该像素的灰度值设置为0,否则灰度值设置为255。
(3)中值滤波
运用变换域法中的空域滤波法对图像进行降噪处理。中值滤波是一种非线性的信号
处理方法,与其对应的滤波器当然也是一种非线性的滤波器。中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。对于奇数个元素,中值是指按大小排序后,中间的数值,对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。
(4)垂直投影
利用图像分析中的垂直投影法实现对二值图像的重建,为条码识别提供前提条件。垂直投影是利用投影法对黑白二值图像进行变换。变换后的图像中黑色线条的高度代表了该列上黑色点的个数。
(5)几何运算
几何运算可以改变图像中各物体之间的空间关系。几何运算的一个重要应用是消除摄像机导致的数字图像的几何畸变。当需要从数字图像中得到定量的空间测量数据时,几何校正被证明是十分重要的。另外,一些图像系统使用非矩形的像素坐标。在用普通的显示设备观察这些图像时,必须先对它们进行校直,也就是说,将其转换为矩形像素坐标。
4.2 条码图像测试结果
本软件的处理对象为EAN-13码的256色BMP位图,应用数字图像处理技术中的灰度处理、阈值分割、空域滤波、区域生长、投影等方法,对有噪声的条码图像进行了相应处理,其结果如下:
图4. 1 原始条码图 图4. 2 灰度窗口变换
图4. 3 原条码直方图 图4. 4 灰度窗口变换直方图
图4. 5灰度直方图规定化界面 图4. 6灰度直方图规定化直方图
图4. 7 中值滤波的界面
图4. 8 区域生长 图4. 9 阈值面积消除
图4. 10 垂直投影
从以上处理结果可以看出,对原始条码图像进行灰度变换、中值滤波、二值化以及小面积阈值消除后得到条码的投影图像,下一步就可以通过图像模式识别的方法将条码读取出来,该部分工作还有待进一步研究。
第五章 总结与展望
数字图像处理技术起源于20世纪20年代,当时由于受技术手段的限制,使图像处理技术发展缓慢。直到第三代计算机问世以后,数字图像处理才得到迅速的发展并得到普遍应用。今天,已经几乎不存在与数字图像处理无关的技术领域。
本论文主要研究了数字图像处理的相关知识,然后通过Visual C++这一编程工具来实现图像处理算法;对文中所提到的各种算法都进行了处理,并得出结论。所做工作如下:
(1)运用点处理法中的灰度处理为实现数字图像的阈值变换提供前提条件。
(2)运用变换域法中的空域滤波法对图像进行降噪处理。
(3)利用点运算中的阈值变换理论将灰度图像变为二值图像,为图像分析做准备工作。
(4)利用图像分析中的垂直投影法实现对二值图像的重建,为条码识别提供前提条件。
在论文的最后一章,给出了各种算法处理的结果。结果表明通过数字图像处理可以把有噪声的条码处理成无噪声的条码。
数字图像处理技术的应用领域多种多样,不仅可以用在像本文的图像处理方面,还可以用于模式识别,还有机器视觉等方面。近年来在形态学和拓扑学基础上发展起来的图像处理方法,使图像处理的领域出现了新的局面,相信在未来图像处理的应用将会更加广泛。
参考文献
[1] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.
[2] 黄贤武,王加俊,李家华.数字图像处理与压缩编码技术[M].成都:科技大学出版社,2000.
[3] 容观澳.计算机图像处理[M].北京:清华大学出版社,2000.
[4] 胡学钢.数据结构-算法设计指导[M].北京:清华大学出版社,1999.
[5] 黄维通.Visual C++面向对象与可视化程序设计[M].北京:清华大学出版社,2001.
[6] 夏良正.数字图像处理[M].南京:东南大学出版社,1999.
[7] 费振原.条码技术及应用[M].上海:上海科学技术文献出版社,1992.
[8] 李金哲.条形码自动识别技术[M].北京:国防工业出版社,1991.
[9] 何斌.Visual C++数字图像处理[M].北京:人民邮电出版社,2001.
[10] 李长江. C++使用手册[M].北京:电子工业出版社,1995.
[11] 席庆,张春林. Visual C++ 6.0.实用编程技术[M].北京:中国水利水电出版社,1999.
[12] 胡学钢.数据结构-算法设计指导[M].北京:清华大学出版社,1999.
[13] Kenneth R.Castleman著,朱志刚等译.数字图像处理[M].北京:电子工业出版社,1998.
[14] Davis. Chapman.Visual C++ 6.0[M].北京:清华大学出版社,1999.
[15] Richard C.Leinecker.Visual C++ 5 Power Toolkit[M].北京:机械工业出版社,1999.