近年来,为了降低成本,提高图像处理的效果,国内外无论是工业界、学术界还是政府相关部门都日益关注相关理论与应用问题的研究.当前主要侧重于对基于FPGA(Field Programmable Gate Array即:现场可编程门阵列)的图像处理算法研究.由于FPGA内部嵌入的硬件乘法器模块数量有限,仍然不能够满足图像处理系统的需求.人们为了提高图像处理效率,不得不提高CPU的频率,这样就致使造价昂贵,而且很多性能瓶颈无法得到突破.
本文通过实验在多处理机系统中以基于CCD图像传感的图像测量系统为测量主体,研究了曲面轮廓测量中提高图像测量精度和速度的图像处理技术的并行化问题.分析了多处理机系统在数字图像处理中的并行化情况,提出了在图像预处理过程中的并行化实现方法,进而使多个处理机之间能够更加协调工作,充分利用CPU,提高了多处理机系统的性能,提高了图像处理的效率和效果.
1 提高图像预处理效果的有效途径
如图1所示,被测对象经过传感器变换以及由视频采集卡送到计算机的过程中常常受到各噪声源的影响和干扰,使图像的质量变差,不仅影响图像视觉效果,而且还会影响目标信息的获取及进一步处理.因此,在进行边缘检测、图像分割、特征提取、模式识别等处理之前,采用适当的方法以减少图像噪声是至关重要的图像预处理步骤.由于噪声的存在,使得原本均匀和连续变化的图像灰度分布突然变大或变小,以至于出现一些虚假的物体的边缘或轮廓.【图1】
在图像的处理过程中,通过平滑、锐化和噪声消减这三种图像预处理的操作可以有效提高图像处理的效果.平滑、锐化和噪声消减是阈值化处理、对比度扩展的下一级的预处理操作.由于这些操作均需要邻近像素值,因此它们均是局部操作.在已有的图像内可能含有不良影响的随机“噪声”.
我们可用减少高频成分的方法来实现图像平滑即将图像区域内抑止亮度的巨大波动.至于如何突出变化和增强细节方面,其实现方法有两种:一是减少低频成分,二是通过微分突出变化.噪声消减将抑制图像中噪声信号,噪声信号本身可能具有各种形式,可能是与图像信号完全无关的一个随机信号.平滑虽然可以减少噪声,但它也将使图像变得模糊,为了解决这个问题,我们可以采用多次捕获图像并取每一像素值的平均值的方法来减少纯随机噪声信号.至此我们己经阐述了提高图像处理效果的有关方法,下面将继续讨论图像处理效率问题.
2 平均值法噪声消减的原理
图像可能受到各种噪声源的干扰,如信道传输误差所引起的噪声等,这些噪声在数字图像上表示为随机的孤立噪声点,可以认为与像素灰度是空间不相关的,即噪声点像素与其邻近像素具有显着不同,采用平均值法可以有效地去除此噪声.
取一组像素的平均值(mean或average)作为中心像素的新值(一般推荐使用mean,表示两极值中间值).它需要对欲更新像素的周围像素组进行访问,并完成局部操作.通常一个组的大小为3×3,如图2所示.对于一个给定的3×3组,其数学模型为:【1】
其中x′4是x4的新值.【图2】
2.1 平均值法噪声消减顺序实现的效率分析
在单处理机系统中,若要按图2所示的3×3组的像素值进行平均值操作的话,那么所有像素都必须进行该操作,并且操作时都要使用像素的原始值.对每一像素计算平均值需要9步,若有n个像素进行平均值操作则进行需要9n步操作.
2.2 平均值法噪声消减并行化实现的效率分析
首先假定为每一个像素分配一个处理机(不大可能是给定像素数,除了某些非常专用的图像处理硬件之外).一种直接的并行实现将需要每个处理机完成9步操作,而所有处理机同时进行操作.
由于对像素数据的访问仅是读访问,对共享存储器实现而言,不会出现冲突.并行方法能利用每个处理机为它相邻的处理机和自身进行部分和的计算.
假定像素值是X0,X1,X2,X3,X4,X5,X6,X7和X8,如图2所示,通过将计算分成四个数据传送步可减少计算步数,如图3所示。【图3】
每个处理器以锁步方式完成以下四步:
第1步每个处理器接收来自左边的像素值,并将这些值加到自身的像素值上生成累加和.中心处理器(x4)将生成x3+x4的累加和.
第2步每个处理器接收来自右边的像素值,并将些值加到自身的累加值上.中心处理机将生成x3+x4+x5累加和.
第3步每个处理器接收来自上边的在第2步中生成的累加值,并将其加到自身的累加和中,为了进行下一步的计算,每个处理必须保留原来的累加值.中心处理器生成累加和x0+x2+x3+x4+x5,与此同时,它必须将x3+x4+x5分开保存.
第4步每个处理器接收来自下方的在第2步中生成的累加值,将其加到自身的累加值上.此时中心处理器将生成x0+x2+x3+x4+x5+x6+x7+x8的累加和.
图4中示出了执行以上每一步后生成的结果.最后每个进程自身的累加和除以9来获得它们的平均值.对于n个像素来说,总共需4步通信与1步累加和的除法.显然,此算法也可使每个处理机处理一组像素.【图4】
综上所述,对于有n个像素的图像,用平均值法噪声消减顺序处理共需要9n步;而用平均值法噪声消减的并行处理,每个处理机处理共需要4步通信与1步累加和的除法而所有处理机同时进行操作.这样大大提高了图像处理的效率。
3 中值法滤除噪声的原理
经过CCD图像采集系统获得的数字图像,经过阈值化处理、对比度扩展等一些处理后虽然可以去除各种干扰,提高图像的质量,但是,这样的数字图像还不足以满足高精度几何测量的要求,为了进一步改善数字图像的质量,还需要对图像作进一步的处理.
数字图像在成像和传输过程中往往会夹杂一些噪声,如椒盐噪声和高斯噪声等,这些噪声可能会对图像处理结果产生消极影响,所以在图像处理前要对该图像进行平滑.由于平均值方法会使边缘和其他锐化细节变得模糊,为减少噪声,可采用邻近像素的中值(Median)来替代原来的像素值,当图像属于强“尖峰”图像时,这种方法在保持边缘的锐化性方面就显得更为有效.将像素值从最小到最大按序排列,并选取位于中间的像素值(假定像素数为奇数)就可得到中值.
3.1 中值法滤除噪声顺序实现的效率分析
假定像素值按递升序排列为y0,y2,y3,y4,y5,y6,y7和y8,则中值便为y4.这种操作要求组中所有值必须先排序,然后用第5个元素替代像素的原来值.采用如冒泡法那样的顺序排序算法将依次找到较小值,因而事实上排序在获得第5个最低值后便可终止.在这种情况下,找到每一个中值所需的步数为8+7+6+5+4=30,而对n个像素便需30n步.
3.2 中值法滤除噪声并行化实现的效率分析
为方便并行操作和提高速度,我们采用近似的排序算法,它只需使所有行和列排序一次,且各行均以相同方向排序.在每一阶段使用有效的冒泡排序且只需三步.
首先,对每一行进行比较和交换操作,它需要三步.对于第i行,我们有:【2】
其中 代表“比较和交换,如果左边灰度值大于右边灰度值”(通常的冒泡排序动作是将最大值冒泡到右边).
然后,用三次比较和交换操作对各列进行排序.对于第j列,我们有:【3】
图5中显示出了全过程.pi,j的值将取第5个最大像素值,该算法并不总是选取第5个最大值.例如,如果第5个最大值为X2(图5b),且它也是所在行中的最大值,则它将被保留在原来位置而不被此算法选中.【图5】
尽管如此,此算法是一个合理的渐近算法,如果每个像素被分配一个处理机,则整个图像仅需6步就可以完成取中值.同样,该算法可扩展为每个处理机处理一组像素.综上所述:假设一幅图像有n个像素,在中值法滤除噪声的顺序实现中,总共需要进行30n步操作;而在中值法滤除噪声的并行化实现中,每个处理机总共只需要进行6步操作,而所有处理机同时进行操作,这样大大提高了图像处理的效率.
4 边缘检测过程的并进化实现
为了进行计算机识别,以从图像的其他对象中区别出所需识别的对象,常常需要增亮对象边缘即边缘检测,其中边缘是指在灰度值强度上有显着变化,为了体现这种变化在现实中的应用,我们引入了梯度和幅度这两个概念.
4.1 梯度和幅度
我们首先考虑一维灰度值函数f(x)(例如沿行方向).如果对此函数f(x)进行微分,则一阶求导f/x就表明了梯度变化,而在变化时将出现一个正向和负向尖峰.而函数的变化方向(增加或减少方向)可由如图6所示的一阶导数的极性来加以标识.图6中还示出了二阶导数2f/x2,它在处将空越零点,这可能有助于识别转换的位置.【图6】
一个图像是一个二离散化的灰度值函数f(x,y).它的灰度值改变有一个梯度幅值(或简称梯度)和一个用角度表示的梯度方向,这里是相对于y轴的 角 度,如 图7所 示.【图7】
对 给 定 的 二 维 函 数f(x,y),f(x,y)的梯度(幅值)f由下式给定:【4】
以减少所需计算量.在图像处理过程中Prewitt算子和Sobel算子是计算数字梯度时最常用的算子.
4.2 边缘检测掩码
对于离散函数,导数可近似地用差分来代替,使用带权掩码可用若干种方法数字地实现求导.f/x项是指x方向差分,而f/y为y方向差分.因此我们就可取行中相邻像素灰度值之差和列中相邻像素之差.假定有一个如图2中所示的3×3像素值的集.我们可考虑用x5和x3的值来计算近似梯度(以得到f/x)以及用x7和x1以得到f/y,即:【5】
需要使用两个掩码,一个用来得到x7-x1,而另一个用来获得x5-x3.每一个掩码结果的绝对值将加在一起.可使用负的权值来实现减法.(为进行求导,没给出任何比例因子,但若要获取合适对比度,就需要选择比例因子.)
4.2.1 Prewitt算子
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用.
其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘.在Prewitt算子中,若使用更多的像素值就可获得更好的结果.例如,近似梯度可由下式得到:【6】
它需要使用两个称为Prewitt算子的3×3掩码,如图8所示.同样,每个掩码的结果绝对值需加在一起.的b和d分别是按图8所示的Previtt算子对原图a和c所进行图像处理的输出结果图.【图8】
4.2.2 Sobel算子
它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值.在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量.下面是一个非常流行的边缘检测例子,它使用如图10所示的两种掩码.这里,导数可近似表示为:【7】
实现一阶导数的算子将增强噪声.然而,Sobel算子同时具有平滑作用.由Sobbel的两个掩码运算符可算得f/x和f/y,并可方便地计算梯度"f和梯度方向φ.的b和d分别是按图所示的Sobel算子对原图a和c所进行图像处理的输出结果图.
4.2.3 两种掩码的并行实现
因为两种掩码的结果相互独立,其并行实现方法是,对每一种掩码使用均可按如图4中所示的四步操作,不同之处是在进行加法时要带上权值.
4.2.4 两种掩码的适用环境分析
实验结果表明,Prewitt算子有一定的抗噪能力,但是这种抗噪能力是通过像素平均来实现的,相当于低通滤波,所以图像有一定模糊,其边缘检测时会受到一定影响.Soble算子对噪声有抑制作用,但对边缘的定位不是很准确,不适合对边缘定位的准确性要求很高的应用.
5 结束语
综上所述,我们从CCD图像采集系统获得曲面轮廓的数字图像入手,以多核处理器为实验环境,通过对图像预处理过程中实现并行化来提高图像处理的速度,达到了预期的效果.
前言数字图像处理技术以当前数字化发展为基础,逐渐衍生出的一项网络处理技术,数字图像处理技术可实现对画面更加真实的展示。在医学中,随着数字图像处理技术的渗透,数字图像将相关的病症呈现出来,并通过处理技术对画面上相关数据进行处理,这种医...
0引言随着铁路运输的不断发展和我国铁路中长期发展规划和战略的实施,铁路运输在国民经济生活中的重要性逐渐凸显。于此背景下一些铁路相关技术亟需改进。相较于传统的火车识别,本文从机器视觉和图像处理等技术为出发点提出一种区别于以往的基于数字图像...
随着时代的进步,人类的文明程度也在逐渐的提高,对很多事物有了新的要求和看法,这一看法体现在图像上就是对图像的美化。随着科学技术的不断发展,计算机技术也在不断的改变。基于人们思想的转变与技术的发展,人们对图像的要求越来越高,如何应用将图像与...
人类的视觉是有限的,人眼可见光谱范围是390nm-780nm,而数字图像处理设备可以覆盖全部的电磁波谱,所以需要通过这个载体来实现图像处理。但是基于考虑到图像的传输方式以及带宽的限制,存储方式以及所带来的图像失真问题,我们必须对采集来的原始图像进行加...
思维导图由着名教育学家托尼博赞于20世纪60年代首创而成。作为一种有效的创造性思维工具,它已经被广泛应用在个人的自我分析和问题解决,家庭和商业的各种计划,甚至企业的员工培训和经验管理等方面[1].特别的,教育界也通过研究和挖掘思维导图的潜在教...
不论在哪种通讯手段中,人们都更愿意选择直观的图像表达,因此,未来社会对图像传递信息的要求越来越高,及时性、直观性、客观性等发展条件都对现有的数字图像处理技术提出了挑战。1数字图像处理技术概述数字图像处理是论述数字图像处理的基本理论、方...
伴随多媒体行业的运行及发展,通过计算机软件以及图形图像处理技术的融入,可以丰富图像视觉传达的意识效果,并将信息进行全面的体现,充分满足行业的持续发展需求。...
0引言SMT检测技术在现代生产过程中的应用非常的广泛,特别是随着科学技术的不断发展,SMT数字图像处理技术的应用不仅在很大程度上减轻了人们的工作力度,同时还使得相应的检测具有了更高的精度,这在很大程度上提高了企业的生产质量和生产效率。下面主要从...
0引言计算机技术的发展促进了多媒体技术的迅速发展和普及,图像处理技术作为一种实用工具,已经在众多领域中得到广泛应用。在腐蚀科学与工程领域,较为熟知的图像有实验室内拍摄的金属金相组织照片、金属断口照片、扫描电镜照片、光学显微镜照片、材料的直...
图像融合在很多的领域都有很大的发展空间,由于图像融合的性质有一定的复杂性,在操作的过程中,还有需要完善的地方;很多的技术的问题有一定的限制性,像小波和多小波的概念以及相互的变换不理想,要相对于融合技术的探究,就要对于图像融合的原理、使用的...