好文档 - 专业文书写作范文服务资料分享网站

数字图像处理技术

天下 分享 时间: 加入收藏 我要投稿 点赞

像处理算法采用通用处理器和DSP来实现难以满足速度需要,而必须采用ASIC来实现,在各种算法实现方案中使用ASIC来实现是最快的。但是,ASIC在实际应用中也有其缺点:ASIC 从设计到应用需要较长的时间周期;ASIC因为属于专用硬件芯片,所以需求数量较少,成本也就非常高;由于ASIC是为专用目的设计的,当设计成型并且流片成功就不能改动,所以在设计中当算法因故需要改变时就要设计者重新设计芯片和硬件电路;当ASIC里存在硬件设计的错误时,并且在投入生产前未能发现的话,唯一解决的办法是把产品回收,而这样做的后果往往是芯片商付出沉重的经济代价。ASIC较低的灵活度往往使其局限于非常有限的应用中并容易产生性能瓶颈,因此由ASIC构建的图像处理系统,缺乏灵活性。

(4)数字信号处理器

数字信号处理器(DSP),是专门为快速实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,通常使用C语言进行编程,其处理速度可达到2000MIPS,比最快的CPU还快10-50倍。数字信号处理器的内部采用专用硬件实现一些数字信号处理常用的运 算,所以它进行这些运算速度非常快,如乘加(MAC)运算只需要一个时钟周期。但是从根本上来说,DSP只是对某些固定的运算提供硬件优化,其体系仍是串行指令执行系统,并且这些固定优化运算并不能够满足众多算法的需要,这使得它的使用受到限制。 (5)现场可编程门阵列(FPGA)

FPGA器件是当今运用极为广泛的可编程逻辑器件,也被称为可编程ASIC。FPGA器件在结构上具有逻辑功能块排列,可编程的内部连线连接这些功能模块来实现一定的逻辑功能。FPGA器件的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SILAM中。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,配置数据可以存储在片外的EPROM或其他存储体上,设计者可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。利用它用户不仅可以方便地设计出所需的硬件逻辑,而且可以进行静态重复编程和动态在系统重配置,使系统的硬件功能可以像软件一样编程来修改,从而可以实时地进行灵活而方便的更新和开发,大大提高了系统设计的灵活性和通用性。与此同时,FPGA自身也在迅速发展,其集成度、工作速度不断提高,包含的资 源越来

越丰富,可实现的功能也越来越强。

FPGA能在设计上实现硬件并行和流水线技术,而这些都不能在DSP上实现。因此,对于实时图像处理而言,与本质上仍然是依靠串行执行指令来完成相应图像处理算法的DSP系统相比,FPGA有很强的灵活性,可以根据需要进行重构配置,有较强的通用性,适于模块化设计;同时其开发周期短,系统易于维护和扩展,适合实时的信号处理,能够大大提高图像数据的处理速度,满足系统的实时性要求,因此采用FPGA器件是个不错的选择。

随着近些年来多媒体技术的发展,人们对视频信息的需求愈来愈强烈,图像采集与处理显得越来越重要。依托计算机技术、通信技术和网络条件的发展以及数字信号处理的快 速发展,图像处理系统出现以下发展趋势:

(1)随着硬件的发展,图像处理系统的性能会越来越高,价格会逐步降低; (2)图像处理系统的功能都会集成在一个便于携带使用方便的电子设备上,不需要PC 和各种辅助设备;

(3)由于网络的普及,图像处理系统将和网络结合,实现远程的图像采集和传输;

(4)图像处理系统内部将集成开发软件,使得用户更加容易根据自己的需要开发相应的图像处理算法,系统的效率更高。

4、图像处理算法分析 4.1图像处理的方法

通常情况下,当图像被系统采集到时,系统获取的图像由于经过传输和随机干扰,使图像质量下降。为了稳定地进行特征抽取,提高精度等必须消除噪声。同时为了取出图像的几何学各种特征,便于图像识别,提高识别的速度,必须进行图像的滤波和边缘检测等 图像处理方法。目前,图像的增强处理方法很多,主要可以分为频率域法和空间域法两大类。频域处理法就是在图像的某种变换域内,对图像的变换值进行运算,然后通过逆变换获得图像增强效果。这是一种间接处理方法。在频率域,由于噪声频谱多集中在高频段,因此主要用低通滤波方法来减少噪声。

空间域处理法是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的,所用的映射变换取决于增强的目的,例如增加图像的对比度,改善图像

的灰度层次等处理均属于空域处理法的范畴。目前,在空间域主要采用邻域平均法和中值滤波法来消除噪声。

图像处理,主要是通过对像素的一些运算提高图像质量,在图像处理过程中,虽然处理算法简单,但参与运算的数据量大,数据需多次重复使用,因此,图像处理往往是图像处理系统中最为耗时的环节,对整个系统速度影响较大。由于图像中的所有元素均可施以同样的操作,存在固有的并行性,非常适合于映射到FPGA架构中由硬件算法实现,使得图像的处理速度大大加快,本章主要对中值滤波和边缘检测图像增强处理算法的FPGA 实现进行分析研究。

4.2中值滤波算法

系统获取的图像在形成、传输、接收和处理的过程中,不可避免地存在着外部干扰和内部干扰。各种噪声随之而来,如图像传感器、信道传输、A/D转换等所产生的脉冲噪声、数字化过程中的量化噪声还有来自外部的电磁波干扰等。图像中的加性和乘性噪声与信号交织在一起,这些噪声极大地降低了图像质量,对图像分割、特征提取、图像识别等处理产生不可预料的影响,因而消除噪声在图像处理中占有重要的地位。目前去除噪声的方法主要是进行图像滤波,而对图像滤波的要求是:既能去除图像以外的噪声,同时又要尽量保持图像的细节。中值滤波算法在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节,可以克服均值滤波方法所带来的图像细节模糊,同时实现起来也简单可行。中值滤波器是最常见的一种滤波器,它是将像素(原像素也包括在内)邻域内灰度的中值代替该像素的值。中值滤波器的使用非常普遍,这是因为对于一定类型的随机噪声,它提供了一种优秀的去噪能力,比小尺寸的线性平滑滤波器的模糊程度明显要低。中值滤波器对椒盐噪声非常有效,因为这种噪声是以黑白点叠加在图像上的。一个数值集合的中值median是这样的值,在数值集合中,有一半小于或等于median,还有一半大于或等于 median。为了对一幅图像的某个像素做中值处理,必须将邻域内所有的像素包括正在被处理的像素排序,确定出中值,并将该中值赋予该像素点。

中值滤波器的主要功能是使拥有不同灰度的点看起来更接近它的邻近值,它的实质在 于,对于一个 ??×?? 的中值滤波器,它能够去除相对于邻域更亮或更暗,并且其区域小于 ??2/2 (滤波器区域的一半1的孤立像素集,使这些像素的

灰度强制变为邻域的灰度的中值。中值滤波算法在实现时一般是对窗口内的像素值进行排序操作。排序的过程就是对像素作比较和交换的过程。序列中像素之间的比较次数是影响排序速度的重要原因。传统的中值滤波方法是使用冒泡法对窗口内像素值进行排序,对于一个像素数为13的窗口数列,第一步遍历整个数列,记录最大值;第二步将上一步骤得到的最大值除去再遍历数列,记录第二大的值,如此循环直到剩下最后一个值为止,这时取出第(n+1)/2 个数,即为中值输 出。在整个比较过程中,总共做了 ??(???1)/2 次像素比较操作。实际上,小于中值的数对于后面运算无意义,只需要排序(n+1)/2 次即可,此方法实现速度与滤波窗口大小有关。

4.3图像边缘检测算法

边缘检测是图像处理的重要环节,是模式识别和计算机视觉的基础。图像边缘是图像特性(如像素灰度、纹理等)分布不连续处、图像周围特性有阶跃或屋脊变化的那些像素的集合,是图像识别信息最集中的地方。由于边缘表示图像信号的突变,因此其中包含了大量的信息,这些信息可以用于图像分析、目标识别以及图像滤波。边缘检测的好坏直接决定了后续处理的结果。对这种变化最有用的两个特征是灰度的变化率和方向,它们分别以梯度向量的幅度和方向来表示。因此,图像灰度值的显著变化可以用梯度的离散逼近函数来检测。

5、各种算子的研究及对比 5.1 Roberts算子

Roberts算子又称为交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条。常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。其缺点是对边缘的定位不太准确,提取的边缘线条较粗。

Roberts算子的模板分为水平方向和垂直方向,从其模板可以看出,Roberts算子能较好的增强正负45度的图像边缘。

详细计算公式如下所示:

????(??,??)=??(??+1,??+1)???(??,??) ????(??,??)=??(??,??+1)???(??+1,??)

Roberts 算子像素的最终计算公式如下:

??=√(????(??,??)2+????(??,??)2)

在Python中,Roberts算子主要通过Numpy定义模板,再调用OpenCV的filter2D()函数实现边缘提取。

5.2 Prewitt算子

Prewitt是一种图像边缘检测的微分算子,其原理是利用特定区域内像素灰度值产生的差分实现边缘检测。由于Prewitt算子采用33模板对区域内的像素值进行计算,而Robert算子的模板为22,故Prewitt算子的边缘检测结果在水平方向和垂直方向均比Robert算子更加明显。Prewitt算子适合用来识别噪声较多、灰度渐变的图像,其计算公式如下所示。

在Python中,Prewitt算子的实现过程与Roberts算子比较相似。通过Numpy定义模板,再调用OpenCV的filter2D()函数实现对图像的卷积运算,最终通过convertScaleAbs () 和addWeighted ()函数实现边缘提取。

5.3 Sobel算子

Sobel算子是一种用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导。该算子用于计算图像明暗程度近似值,根据图像边缘旁边明暗程度把该区域内超过某个数的特定点记为边缘。Sobel算子在Prewitt算子的基础上增加了权重的概念,认为相邻点的距离远近对当前像素点的影响是不同的,距离越近的像素点对应当前像素的影响越大,从而实现图像锐化并突出边缘轮廓。

Sobel算子的边缘定位更准确,常用于噪声较多、灰度渐变的图像。其算法模板如公式所示,其中dx表示水平方向,dy表示垂直方向。

Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息。

5.4 Laplacian算子

拉普拉斯(Laplacian)算子是n维欧几里德空间中的一个二阶微分算子,常用于图像增强领域和边缘提取。它通过灰度差分计算邻域内的像素,基本流程是:判断图像中心像素灰度值与它周围其他像素的灰度值,如果中心像素的灰度更高,则提升中心像素的灰度;反之降低中心像素的灰度,从而实现图像锐化操作。在算法实现过程中,Laplacian算子通过对邻域中心像素的四方向或八方向

数字图像处理技术

像处理算法采用通用处理器和DSP来实现难以满足速度需要,而必须采用ASIC来实现,在各种算法实现方案中使用ASIC来实现是最快的。但是,ASIC在实际应用中也有其缺点:ASIC从设计到应用需要较长的时间周期;ASIC因为属于专用硬件芯片,所以需求数量较少,成本也就非常高;由于ASIC是为专用目的设计的,当设计成型并且流片成功就不能改动,所以在设计中当算法因故需要改变时就要设计者重新设计芯片
推荐度:
点击下载文档文档为doc格式
0ys7562biz4c2db011p1797950lq6e00f8r
领取福利

微信扫码领取福利

微信扫码分享