购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.6 图像的代数运算

代数运算是指对两幅输入图像进行点对点的加、减、乘、除运算而得到目标图像的运算。另外,还可以通过适当的场合,形成涉及几幅图像的复合代数运算方程。图像处理代数运算的四种基本形式分别如下:

式中, A ( x , y )和 B ( x , y )为输入图像表达式; C ( x , y )为输出图像表达式。某些情况下,输入图像之一也可以是常数。在一些特定情况下,参与代数运算的输入图像可能多于两个,如用于消除加性随机噪声的图像相加运算一般都多于两个输入图像。

3.6.1 加法运算

加法运算通常用于平均值降噪等多种场合。图像相加一般用于对同一场景的多幅图像求平均,以便有效地降低加性噪声,通常图像采集系统在采集图像时有这类参数可供选择。对于一些经过长距离模拟通信方式传送的图像(如太空航天器传回的星际图像),这种处理是不可缺少的。当噪声可以用同一个独立分布的随机模型表示和描述时,利用求平均值的方法降低噪声信号、提高信噪比将会非常有效。

在实际应用中,要得到一静止场景或物体的多幅图像是比较容易的。如果这些图像被一加性随机噪声源所污染,则可通过对多幅静止图像求平均值来达到消除或降低噪声的目的。在求平均值的过程中,图像的静止部分不会改变,而由于图像的噪声是随机性的,各不相同的噪声图案累积的很慢,因此可以通过多幅图像求平均值降低随机噪声的影响。

若有一静止场景的图像被加性随机噪声污染,且已获得由 K 幅该静止场景图像组成的图像集合,设图像可表示为:

式中, S ( x , y )为静止场景的理想图像; N i ( x , y )表示由于胶片的颗粒或数字化系统中的电子噪声所引起的噪声图像。集合中的每幅图像被不同的噪声所污染。虽然并不能准确获取这些噪声信息,但通常情况下,图像的噪声信号都来自于同一个互不相关且均值等于零的随机噪声样本集。设 P ( x , y )表示功率信噪比,则对于图像中的任意像素点, P ( x , y )可定义为:

K 幅图像求平均,可得:

平均值图像的功率信噪比为:

N i ( x , y )为随机噪声,因而具有以下特性:

由此,可以得出:

因此,对 K 幅图像进行平均,则图像中每一点的功率信噪比提高了 K 倍。而功率信噪比与幅度信噪比(SNR)之间是平方关系,故有:

即求平均值以后, K 幅图像的幅值信噪比比单幅图像的幅值信噪比提高了 倍,幅度信噪比随着被平均图像数量的增加而提高。

两幅图做加法运算,在MATLAB中既可以使用imlincomb()函数,也可以使用imadd()函数。imlincomb()用于计算多张图像的线性组合,imadd()用于计算两张图像的叠加。这两个函数的调用形式如下:

● imadd()函数将图像X中的元素与图像Y中的元素进行叠加,返回一个叠加结果作为输出图像Z1中对应的元素;

● imlincomb()函数计算K1*A1+K2*A2+…+Kn*An,返回计算结果作为输出图像Z2。

例3-1:图像加法消除噪声的示例。

如图3-13所示是加法消除噪声的示例。在图3-13a中, K =1,表示1张噪声图像平均,即具有加性噪声的原始照片;在图3-13b中, K =2,表示2张照片相加后求平均;在图3-13c中, K =4,表示4张照片相加后求平均;在图3-13d中, K =16,表示16张照片相加后求平均。由于相加的图像越来越多,SNR值不断提高,因此,图像质量由图3-13a到图3-13d明显提高。

图3-13 加法消除噪声

利用图像加法消除噪声的MATLAB代码如下:

3.6.2 减法运算

图像相减常用于检测变化及运动物体,图像相减运算又称为图像差分运算。差分方法可以分为可控制环境下的简单差分方法和基于背景模型的差分方法。在可控环境下,或者在很短的时间间隔内,可以认为背景是固定不变的,可以直接使用差分运算检测图像变化及运动物体。

图像减法在自动现场监测等领域具有广泛的运用。可以应用在监控系统中,如在银行金库内,摄像头每间隔某一固定时间(如10s)拍摄一幅图像,并与上一幅图像进行减法运算,如果图像差别超过了预先设置的阈值,则表明可能有异常情况发生,应自动或以某种方式报警。图像减法可用于检测变化目标及遥感图像的动态监测;利用差值图像可以发现森林火灾、洪水泛滥等灾情,监测灾情变化及估计损失等;也可用于监测河口、海岸的泥沙淤积及监视江河、湖泊、海岸等的污染。利用差值图像还能鉴别出耕地及不同农作物的覆盖情况。

图像减法还可用于消除图像背景。例如,该技术可用于诊断PCB及集成电路掩膜的缺陷。在血管造影技术中,为了减少误诊,人们希望提供反映游离血管的清晰图像。通常的肾动脉造影在造影剂注入后,虽然能够看出肾动脉血管的形状及分布,但由于肾脏周围血管受到脊椎及其他组织影像的重叠,难以得到理想的游离血管图像。对此,可摄制出肾动脉造影前后的两幅图像,相减后就能把脊椎及其他组织的影像去掉,仅保留血管图像。此外,电影特技中应用的“蓝幕”技术,其实也用到了图像减法的基本原理。

下面介绍两种常用的减法运算:差影法和剪影法。

(1)差影法

差影算法是将同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减,即将实验拍摄到的含有目标物体的图像与背景图像的对应元素相减,所得的差作为结果图像。运算关系如式(3-33)所示:

式中, A ( x , y )为目标图像的灰度矩阵, B ( x , y )为背景图像的灰度矩阵, F 1 ( x , y )为处理后的图像灰度矩阵。若目标物体的灰度值小于背景像素的灰度值,则需用背景图像减去目标图像。由于两张图片中背景一致,因此差影法可以大幅度减小图像的背景噪声,从而实现去噪功能。但差影法也有一定的弊端,即两幅图像相减会减弱目标像素的灰度值,当图像中目标信息较弱时,会导致有用的特征信息的丢失,不利于后续的信息处理,特别是在图像二值化时,容易丢失有价值的信息。

(2)剪影法

剪影算法是基于电子技术中门电路的逻辑思想提出的,是一种可以增强目标像素点的灰度值的自适应算法,主要是根据目标图像和背景图像的对应点的灰度值相差的多少来确定运算关系:

式中, T h 为阈值( T h >0), T h 的值可根据图像中灰度变化情况来选取,通常取 T h =0。与差影法相同,当目标物体的灰度值小于背景像素的灰度值时,则比较背景图像减去目标图像的差值。经过剪影算法得到的图像背景均匀,且背景与目标像素点的对比度增强,从而使目标更加突出,图像质量得到很好的改善。但是,当拍摄的图像有拖影时,剪影算法不能很好地去除拖影。

在MATLAB中,图像的减法运算用imsubtract()函数来实现,调用形式如下:

● X和Y为两张原始图像,可以是二值或灰度图像;

● 函数实现X-Y的操作;

● Z为输出图像。

例3-2:利用差影法与剪影法分离图像的示例。

分别利用差影法和剪影法处理两相流的弹状流图像,处理后的效果图如图3-14所示。可以看到两种处理方法都保持了弹状流特征,但是对于一些弹状流轮廓不明显的图像而言,剪影算法的处理结果比差影算法的结果好很多。

图3-14 差影法与剪影法效果对比

利用差影法与剪影法进行图像背景分离的MATLAB代码如下:

(3)求梯度幅度

图像的减法运算也可应用于求图像的梯度函数。梯度是数学与场论中的概念,它是向量函数,梯度幅度可由下式表示:

考虑到运算的方便性,梯度幅度可由下式近似计算:

也就是说,梯度可近似取值为水平方向相邻像素之差的绝对值和垂直方向相邻像素之差的绝对值中的较大者。在图像中,物体边缘属于斜率陡峭之处,梯度值一般较大。梯度运算可以获取图像内部的边缘信息。

例3-3:图像梯度运算的示例。

图3-15是羊毛纤维显微图像梯度运算的示例。对于羊毛纤维显微图像的梯度图,梯度幅度在羊毛纤维边缘处很高,而在背景区域和羊毛纤维的内部,梯度幅度很低。

基于图像减法计算梯度图像的MATLAB代码如下:

图3-15 梯度幅度图像

3.6.3 乘法运算

乘法运算可用来遮住图像的某些部分,其典型运用是用于获得掩膜区域的目标图像。对于需要保留下来的区域,掩膜(mask)图像的值置为1,而在需要被抑制掉的区域,掩膜图像的值置为0。然后,利用乘法运算,就能够提取掩膜图像对应在原图像中的目标区域。

MATLAB中提供了immultiply()函数来实现图像的乘法运算,调用形式如下:

● X和Y为两张原始图像,可以是二值或灰度图像;

● Z为输出图像。

例3-4:利用图像乘法运算提取目标区域的示例。

提取CT图像中掩膜图像对应的病变区域。如图3-16所示,图3-16a是CT图像,图3-16b是癌变区域的掩膜图像,图3-16c为图3-16a与图3-16b相乘的结果。可见,原图像乘以掩膜图像,能够抹去图像中的某些多余区域,即使多余区域为0。

利用图像乘法运算提取CT图像掩膜区域的MATLAB代码如下:

图3-16 乘法运算在掩膜图像中的应用

图像掩膜技术也可以灵活应用,如可以增强选定区域外的图像而对区域内的图像不做处理,这时,只需将二值图像中区域内像素点置1,而区域外的像素点置0即可。掩膜图像技术还可以应用于图像局部增强,即只对图像的某一局部区域进行增强,以突出某一具体的目标。

3.6.4 除法运算

除法运算的典型运用是比值图像处理。例如,除法运算可用于校正成像设备的非线性影响,在特殊形态的图像(如CT为代表的医学图像)处理中用到;此外,除法运算还经常用于消除图像数字化设备随空间变化所产生的影响,并可用于产生在多光谱图像处理中非常有用的比率图像。

图像的除法运算一般有两种,图像之间的除法运算和图像除以常数的运算。MATLAB中提供了imdivide()函数实现图像除法运算,调用形式如下:

● X和Y为两张原始图像,可以是二值或灰度图像;

● Z为输出图像。

图像之间的除法运算,以及图像除以常数运算的MATLAB代码如下:

图3-17a是原始图像的暗图像,图3-17b是原始图像,图3-17c是图3-17b和图3-17a相除后得到的效果图,图3-17b除以常数0.5后的效果图如图3-17d所示。

图3-17 除法运算图像 1jDegiTmHF7Puia2lg1MeSdeoDiFV/OgzN2K7QHXfuYnVR++YCc4SBRhhwp0tmEI

点击中间区域
呼出菜单
上一章
目录
下一章
×