2.去除叠加噪声
在实际应用中,要得到一静止场景或物体的多幅图像是比较容易的。如
果这些图像被一加性随机噪声源所污染,则可通过对多幅静止图像求平均值来达到消除或降低噪声的目的。在求平均值的过程中,图像的静止部分不会改变,而由于图像的噪声是随机性的,各个不同的噪声图案积累的很慢,因此可以通过多幅图像求平均值降低噪声的影响。
matlab中提供的imnoise函数用于为图像的添加噪声效果,其调用格式如下。
J=imnoise(I,type):按照指定类型在图像I上添加噪声。字符串参量type表示噪声类型。 type对应的噪声类型:
‘gaussian’高斯白噪声,参数m,v分别表示均值和方差 ‘localvar’ 0均值高斯白噪声,参数v表示局部方差 ‘poisson’ 泊松噪声
‘salt&pepper’ 椒盐噪声,参数d表示噪声密度 ‘speckle’ 乘法噪声
J=imnoise(I,type,parameters):根据不同的噪声类型,添加不同的噪声参数。所有噪声参数都被格式化,与灰度图像均值在0~1之间的图像相配。
去除叠加噪声的实现:
例如:利用imnoise函数对噪声进行相加运算。 I=imread('eight.tif');
I1=imnoise(I,'gaussian',0,0.006); I2=imnoise(I,'gaussian',0,0.006); I3=imnoise(I,'gaussian',0,0.006); I4=imnoise(I,'gaussian',0,0.006); %I5=imnoise(I,'gaussian',0,0.006);
K=imlincomb(0.25,I1,0.25,I2,0.25,I3,0.25,I4); subplot(1,3,1);imshow(I); xlabel('(a)原始图像'); subplot(1,3,2);imshow(I2); xlabel('(b)添加噪声图像'); subplot(1,3,3);imshow(I3); xlabel('(c)叠加后的图像');
5
图像的平均是一种重要的应用在天文学,在该领域,由于在非常低的照
度下成像经常会经常导致传感器噪声,以至于单幅图像无法分析。相加是连续积分离散形式。在天文观测中,一种与刚刚描述的方法等同的处理是使用CCD或者类似传感器的积累能力,通过长时间观察同一场景来达到降噪的目的。冷却也常常用于降低传感器噪声。然而,最终结果类似于对一组噪声数字图像进行平均操作。
3. 图像的减法运算
图像减法运算也称为差分方法,其为一种常用于监测图像变化及运动物
体的图像的处理方法。图像减法可以为许多图像处理过程中的准备步骤。例如,可以使用图像减法来检测一系列同场景的图像差异。用图像减法处理图像时,往往考虑北京的更新机制,尽量补偿因天气、光照等因素对图像显示效果造成的影响。
【1】消除不需要的叠加性图案。 在进行图像处理时,往往突出所研究的对象而需要清楚图像的背景,例如,在生物试验中,在显微镜下观察生物的组织切片时,如果观测物太小,显微镜本身的光学系统所带来的影响十分明显,去除背景效果,能够去除部分系统影响,突出观测物本身,获取物体镜像后,移开物体再获得空白区域的图像,两幅图相减即可获得物体
6
本身的图像
【2】差影法。 所谓差影法,实际上就是图像的相减运算,指同一景物在不同时间拍摄的图像或同一景物在不同波段图像相减。差值图像提供了图像间的差异信息,能用于指导动态监测,运动目标的检测和跟踪、图像背景的消除及目标识别等。差影法在自动现场检测,消除背景中其主要作用。 【3】求梯度幅度。 在一幅图中,灰度变化大的区域梯度值大,一般认为此区域是图像内物体的边界(别的地方也可能会出现灰度值变化很大的情况,但在图像处理时通常认为是比较关心的边界问题)。因此求图像的梯度图像获得图像物体边界。
matlab中提供的imsubtract和imabsdiff函数用于完成图像的减法运算,调用格式如下: Z=imsubtract(X,Y): 将X矩阵中的每一个元素减去矩阵Y中对应元素,返回值为Z。
Z=imabsdiff(X,Y): 差值结果取绝对值。
图像减法运算的实现:
例如:利用imsubtract以及imabsdiff函数对图像进行减运算。
I=imread('moon.tif');
background=imopen(I,strel('disk',15)); I1=imsubtract(I,background); subplot(2,2,1);imshow(I); xlabel('(a)原始图像');
subplot(2,2,2);imshow(background); xlabel('(b)背景图像'); subplot(2,2,3);imshow(I1);
xlabel('(c)imsubtract函数相减结果'); K=imabsdiff(I,background); subplot(2,2,4);imshow(K,[]);
xlabel('(d)imabsdiff函数相减结果');
7
例如:降低RGB图像的亮度。 RGB=imread('onion.png'); RGB2=imsubtract(RGB,50); subplot(1,2,1);imshow(RGB); xlabel('(a)原始RGB');
subplot(1,2,2);imshow(RGB2); xlabel('(b)降低亮度后RGB');
8
4.图像的乘法运算
两幅图像进行乘法运算可以实现掩模操作,及屏蔽掉图像的某些部分。
一幅图像乘以一个常数通常被称缩放,这是一种常见的图像操作。如果使用的缩放因素大于去1,图像将变亮,如果小于1则图像会变暗。缩放操作通常会产生比简单添加像素偏移量自然得到明暗效果。这是因为该操作能够更好地维持图像的相关对比度。此外,由于时频的卷积或相关运算与频域的乘积或相关运算与频域乘积运算对应,因此乘法运算有时也成为一种技巧用于实现卷积或相关处理。
matlab中提供的immultiply函数用于实现图像的乘运算,其调用格式如下。
Z=immultiply(X,Y): 将矩阵X中每一个元素乘以矩阵Y中对应元素,返回值为Z。
图像乘法运算的实现: 例如 图像的乘法效果。
I=imread('coins.png');
9