背景差分法课件_第1页
背景差分法课件_第2页
背景差分法课件_第3页
背景差分法课件_第4页
背景差分法课件_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字图像处理

DigitalImageProcessing信息工程学院SchoolofInformationEngineering数字图像处理

DigitalImageProcessin1(BasicOperationinDigitalImageProcessing)

3.1概述(Introduction)

3.2点运算

(PointOperation)3.3代数与逻辑运算(AlgebraandLogicalOperation)3.4几何运算

(GeometricOperation)第3章图像基本运算(BasicOperationinDigitalIm3.1概述(Introduction)BackgroundCategories

Operationinspatialdomain根据输入图像得到输出图像处理运算的数学特征进行如下分类。点运算(Pointoperation):对每个像素点的像素值进行变换。代数运算(Algebraoperation):对二幅或多幅图像像素值进行加、减、乘、除。逻辑运算(Logicaloperation):对二幅二值图像像素值进行逻辑与、或、非。几何运算(Geometricoperation):不改变像素的像素值,而改变像素所在的位置。如:平移、镜像、旋转、缩小、放大等。3.1概述(Introduction)Background3.2点运算

(PointOperation)Pointoperation—像素值变换对图像的每个像素点的像素值按照一定的映射关系进行运算,得到一幅新图像的过程。有规律地改变像素点的像素值。

对比度增强或拉伸(Contraststretching)

改变图像灰度值所占据的范围,将关注部分的灰度级范围扩大。点运算--变换像素值的单位比如:显微镜下看到的图像,将其值扩大到可见范围3.2点运算(PointOperation)Point3.2点运算

(PointOperation)点运算的分类线性变换(Lineartransformation)非线性变换(Non-lineartransformation)3.2点运算(PointOperation)点运算的分3.2.1线性变换(LinearTransformation)线性变换(Lineartransformation)输入图像的灰度级与输出图像的灰度级呈线性关系,即

为输入图像点的灰度值为相应输出点的灰度值

Figure3.1Lineartransformation

3.2.1线性变换(LinearTransformatio(1)a=1,b=0,则只需将输入图像复制到输出图像即可。若a=1,而,则操作结果是仅使所有像素的灰度值上移或下移,其效果是使整个图像在显示时更亮或更暗。(2)如果a>1,则输出图像对比度增大。(3)如果a<1,则输出图像对比度降低。(4)如果a<0,即为负值,则暗区域将变亮,亮区域将变暗,点运算完成了图像求补。(1)a=1,b=0,则只需将输入图像复制到输出图像即可。线性变换Matlab实现示例:I=imread('eight.tif'); %读取一幅图片I=im2double(I);%转换数据类型为doublefigure(1);subplot(1,5,1);imshow(I);title('原图像','fontsize',7);%显示原图像a=2;b=-50;%增加对比度O=a.*I+b/255;figure(1);subplot(1,5,2);imshow(O);title('a=2,b=-50,增加对比度','fontsize',7);a=0.5;b=-50;%减小对比度O=a.*I+b/255;figure(1);subplot(1,5,3);imshow(O);title('a=0.5,b=-50,减小对比度','fontsize',7);a=1;b=50;%线性增加亮度O=a.*I+b/255;figure(1);subplot(1,5,4);imshow(O);title('a=1,b=50,线性平移增加亮度','fontsize',7);a=-1;b=255;%图像反色O=a.*I+b/255;figure(1);subplot(1,5,5);imshow(O);title('a=-1,b=255,图像反色','fontsize',7);线性变换Matlab实现示例:I=imread('eightLinearTransformationFunctions0f(x,y)g(x,y)abcdLinearTransformationFunctionPiecewiseLinearTransformation0f(x,y)g(x,y)abcdMfMgPiecewiseLinearTransformatioSomeExampleofPiecewiseLineartransformation(a)Formoftransformationfunction(b)Alow-contrastimage(c)Resultofcontraststretching(d)ResultofthresholdingSomeExampleofPiecewiseLine原始图象(Originalimage)原始图象灰度倒置底片效果(Imagenegative)灰度倒置3.2.1非线性变换(LinearTransformation)非线性变换(Non-lineartransformation)

典型的非线性变换函数有:对数函数、指数函数、幂函数、阈值函数、多值量化函数、窗口函数等。

Figure3.2logtransformation对数变换(logtransformation)

s=clog(1+r)

3.2.1非线性变换(LinearTransformati3.2.1非线性点运算(LinearPointOperation)Figure3.3Power-lawtransformation幂次变换(Power-lawtransformation)3.2.1非线性点运算(LinearPointOpera背景差分法课件多值量化出现假轮廓多值量化非线性灰度变换对数效应非线性灰度变换对数效应非线性灰度变换指数效应非线性灰度变换指数效应3.3代数运算与逻辑运算

(AlgebraandLogicalOperation)

作用:

通过加法运算可以消除或降低图像的加性随机噪声,消除不需要的加性图案.通过减法可以检测同一场景的两幅图像之间的变化,检测物体的运动等。代数运算也可用于将一幅图像的内容叠加到另一幅图像上,从而实现二次曝光。逻辑运算用于二值图像的理解和分析。3.3代数运算与逻辑运算

(AlgebraandLog3.3.1加法运算(Addition)图像得到之后,通常包含有噪声图像加法可用于图像平均以减少和去除图像采集中混入的噪声。当多幅图像相加时,由于感兴趣的静止部分是不变的,而图像的噪声是随机性的,各个不同的噪声积累得很慢,通过多幅图像求平均降低随机噪声的影响。3.3.1加法运算(Addition)图像得到之后3.3.1加法运算(Addition)

假定有由M幅图像组成的一集合,图像的形式为:

其中为感兴趣的理想图像,是由于胶片的颗粒或数字化系统中的电子噪声所产生的噪声图像。可以用一个均值为0,独立分布的随机模型表示噪声。对于图像中的任意点,定义功率信噪比为:3.3.1加法运算(Addition)假定有由M幅图3.3.1加法运算(Addition)如果对M幅图像做平均,可得:功率信噪比为:由于噪声之间相互独立,具有如下特性:3.3.1加法运算(Addition)如果对M幅图像做平均,3.3.1加法运算(Addition)得到:因此,对M幅图像进行平均,使图像中每一点的功率信噪比提高了M倍。幅度信噪比是功率信噪比的平方根,所以,幅度信噪比随着被平均图像数目的增加而增大。3.3.1加法运算(Addition)得到:因3.3.1加法运算(Addition)averagingfornoisereductionM=1M=16M=23.3.1加法运算(Addition)averagingf3.3.1加法运算(Addition)

【例3.1】把一幅图像加上高斯噪声,再通过100次相加求平均的方法去除噪声,其MATLAB程序如下:I=imread('eight.tif'); %读取一幅图片J=imnoise(I,'gaussian',0,0.02); %向这幅图片加入高斯噪声subplot(1,2,1),imshow(I); %显示图片subplot(1,2,2),imshow(J);K=zeros(242,308); %产生全零的矩阵,大小与图片的一样

fori=1:100 %循环100加入噪声

J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;endK=K/100;figure;imshow(K);3.3.1加法运算(Addition)【例3.1

生成图像叠加效果:可以得到各种图像合成的效果生成图像叠加效果:可以得到各种图像合成的效果3.3.2减法运算(Subtraction)Subtraction

图像相减常用于检测变化及运动的物体,图像相减运算又称为图像差分运算。将同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减,这就是差影法,实际上就是图像的减法运算。差值图像提供了图像间的差值信息,能用于指导动态监测、运动目标的检测、跟踪和识别。例如:视频监控动态目标检测:连续帧间差分法、背景差分法。3.3.2减法运算(Subtraction)Subtra3.3.2减法运算(Subtraction)(a)混合图像

(b)被减图像(c)差影图像差影法可用于图像背景的消除、混合图像的分离等。Figure3.6separatemixedimagesbysubtractionmethod3.3.2减法运算(Subtraction)(a)混合图3.3.2SubtractionDifferenceimage

消除背景影响—医学图像处理应用设:背景图像b(x,y),前景背景混合图像f(x,y) g(x,y)=f(x,y)–b(x,y) g(x,y)为去除了背景图像(a)从病人头顶拍摄的X光照片(b)注射碘元素后与注射前之差X光照片携带碘元素的明亮动脉血管清楚地被增强了3.3.2SubtractionDifference

【例3.2】已知一幅受椒盐噪声干扰的图片,通过减法运算提取出噪声,其MATLAB程序如下:I=imread('lena1.jpg');J=imread('lena.jpg');K=imsubtract(I,J);%实现两幅图片相减K1=255-K; %将图片求反显示figure;imshow(I);title('有噪声的图');figure;imshow(J);title('原图');figure;imshow(K1);title('提取的噪声');3.3.2Subtraction【例3.2】已知一幅受椒盐噪声干扰的图片,通过运动目标检测当前图像帧减去背景帧运动目标检测3.3.3乘法运算(Multiplication)Multiplication简单的乘法运算可用来改变图像的灰度级,实现灰度级变换。乘法运算可用来屏蔽图像的某些部分,其典型应用是用于获得掩膜图像。

对于需要保留下来的区域,掩膜图像的值置为1,对于需要被抑制掉的区域,掩膜图像的值置为0。实现卷积:时域的卷积和与频域的乘积运算对应。3.3.3乘法运算(Multiplication)Mult3.3.3MultiplicationMultiplication:主要应用举例图像的局部显示(Localdisplayofimage

)用二值掩膜板图象与原图象做乘法3.3.3MultiplicationMultiplic3.3.4除法运算(Division)Division:重要应用校正由于照明或传感器的非均匀性造成的图像明暗变化3.3.4除法运算(Division)Division:Logicaloperation针对二值图像逻辑运算有:与(and)、或(or)、非(not)、异或(xor)等。3.3.5逻辑运算(LogicalOperation)Logicaloperation针对二值图像3.3.53.3.5逻辑运算(LogicalOperation)(a)A图(b)B图

(c)A、B相与结果图(d)A、B相或结果图【例3.5】两幅二值图像逻辑运算

A=zeros(128);A(40:67,60:100)=1;figure(1);imshow(A);B=zeros(128);B(50:80,40:70)=1;figure(2);imshow(B);C=and(A,B);figure(3);imshow(C);D=or(A,B);figure(4);imshow(D);E=xor(A,B);figure(5);imshow(E);F=not(A);figure(5);imshow(F);(e)A、B异或结果图(f)A取反结果图3.3.5逻辑运算(LogicalOperation)(a

下课了。。。本章第一次课结束Havearest。。。下课了。。。本章第一次课结束3.4几何运算(GeometricOperation)ImageGeometrictransformation不改变图像的像素值,而改变像素所在的位置。原始图像按照需要产生大小、形状和位置的变化。几何变换有:二维平面图像的几何变换三维图像的几何变换三维向二维平面投影的变换从变换性质分:图像的位置变换(平移、镜像、旋转)形状变换(放大、缩小)复合变换

插值运算

3.4几何运算(GeometricOperation)I3.4几何运算(GeometricOperation)几何变换应用较为广泛。从人造卫星上所拍摄的图像,由于摄像装置被安装在卫星的遥感器或飞机的测试平台上,其位置和姿态不断的变化,所以拍摄的图像会发生平移、旋转、缩放等变形。这时,需要利用几何变换加以校正,变成没有歪斜的图像。天气预报中常见的卫星云图都是用几何变换处理过的图像。

3.4几何运算(GeometricOperation)一个几何运算需要两个独立的算法。需要一个算法来定义空间变换,用它描述每个像素如何从其初始位置移动到终止位置,即每个像素的运动。通过与之对应的矩阵线性变换实现。需要一个算法用于灰度级的插值。

在一般情况下,输入图像的位置坐标为整数,而输出图像的位置坐标可能为非整数,反过来也是如此。此时需要进行灰度级的插值。一个几何运算需要两个独立的算法。3.4.1图像的平移(ImageTranslation)Figure3.8pixeltranslation3.4.1图像的平移(ImageTranslation)3.4.1图像的平移(ImageTranslation)Expresspixelrelationsbeforeandaftertranslationinmatrixform:3.4.1图像的平移(ImageTranslation)3.4.1图像的平移(ImageTranslation)平移后还需对新图像进行处理。对于新图像中的有些像素点在原图中没有对应点的,即新图中的这些点按照公式逆推所得到的点超出原图像的范围,可以直接将它的像素值统一设置为0或255,对于灰度图像则为黑色或白色。

(a)originalimage(b)imageaftertranslation3.4.1图像的平移(ImageTranslation)3.4.2图像的镜像(ImageMirror)

ImageMirror原始图像相对于某一参照面旋转180度的图像对称变换,图像的宽度和高度不变分为:水平对称、垂直对称3.4.2图像的镜像(ImageMirror)Imag3.4.2图像的镜像(ImageMirror)(1)horizontalmirror(relativetoyaxis)以图像的垂直中轴线为中心,将图像分为左右两部分镜像对称变换。

Transformationformula:3.4.2图像的镜像(ImageMirror)(1)h3.4.2图像的镜像(ImageMirror)

(a)originalimage(b)horizontalmirrorFigure3.10imagehorizontalmirrortransformation3.4.2图像的镜像(ImageMirror)(a)3.4.2图像的镜像(ImageMirror)(2)verticalmirror(relativetoxaxis)以图像的水平中轴线为中心,将图像分为上下两部分进行镜像对称变换。Transformationformula:3.4.2图像的镜像(ImageMirror)(2)ve3.4.2图像的镜像(ImageMirror)

(a)originalimage(b)verticalmirrorFigure3.11imageverticalmirrortransformation3.4.2图像的镜像(ImageMirror)3.4.3ImageRotation

Generallyspeaking,imagerotationsetsthecenteroftheimageastheoriginandrotatesacertainangle,namelyalltheimagepixelsarerotatedonasameangle.1432213421343.4.3ImageRotationGener3.4.3ImageRotation图像经过旋转变换之后,图像的位置发生了改变。对图像进行旋转之后,图像中有的部分已经转到图像区域范围以外,此时,可以用2钟方法进行处理:截去图像区域之外的部分扩大显示区域的图像范围以显示图像的全部。3.4.3ImageRotation图像设原始图像的任意点经旋转角度以后到新的位置,为表示方便,采用极坐标形式表示,原始的角度为,如下图所示:Figure3.12ImageRotation3.4.3ImageRotation设原始图像的任意点经旋转角度以后到新的3.4.3图像的旋转(ImageRotation)3.4.3图像的旋转(ImageRotation)3.4.3图像的旋转(ImageRotation)图像旋转用矩阵表示如下:图像旋转之后也可以根据新点求解原始点的坐标

3.4.3图像的旋转(ImageRotation)图像旋【例3.6】实现把一幅图像旋转60°,并分别采用把转出显示区域的图像截去和扩大显示区域范围以显示图像的全部两种方式,MATLAB程序如下:I=imread('lena.jpg');J=imrotate(i,60,‘bilinear’);//显示全部K=imrotate(i,60,‘bilinear’,‘crop’);//剪切subplot(1,3,1),imshow(I);subplot(1,3,2),imshow(J);subplot(1,3,3),imshow(K);3.4.3图像的旋转(ImageRotation)【例3.6】实现把一幅图像旋转60°,并分别采用把转出显示区3.4.3图像的旋转(ImageRotation)(a)originalimage(b)rotationimage(c)rotationimageFigure3.13ImageRotation3.4.3图像的旋转(ImageRotation)(a)3.4.3图像的旋转(ImageRotation)

图像旋转之后,由于数字图像的坐标值必须是整数,因此,可能引起图像部分像素点的局部改变,因此,图像的大小也会发生一定的改变。若图像旋转角=450时,则变换关系如下:

3.4.3图像的旋转(ImageRotation)3.4.3图像的旋转(ImageRotation)

比如:原始图像的点(1,1),旋转之后,得到的点坐标均为小数,经舍入后为(1,0),产生了位置误差。因此,图像旋转以后可能会发生一些细微的变化。图像旋转之后,可能会出现一些空白点,需要对这些空白点进行灰度级的插值处理,否则影响旋转后的图像质量。3.4.3图像的旋转(ImageRotation)3.4.4图像的缩放(ImageZoom)通常情况下,数字图像的比例缩放是指将给定的图像在x方向和y方向按相同的比例a缩放,从而获得一幅新的图像,又称为全比例缩放。如果x方向和y方向缩放的比例不同,则图像的比例缩放会改变原始图像像素间的相对位置,产生几何畸变。

3.4.4图像的缩放(ImageZoom)通常3.4.4ImageZoom

设原始图像中的点比例缩放后,在新图中的对应点为,则和之间坐标关系可表示如下:即3.4.4ImageZoom设原始图像中

若比例缩放所产生的图像中的像素在原图像中没有相对应的像素点时,就需要进行灰度值的插值运算,一般有以下两种插值处理方法:(1)直接赋值为和它最相近的像素灰度值,这种方法称为最近邻插值法。该方法简单、计算量小,但很可能会产生马赛克现象。(2)通过其他数学插值算法来计算相应像素点的灰度值。这类方法处理效果好,但运算量会有所增加。3.4.4ImageZoom若比例缩放所产生的图像中的像素在原图像中没有相对3.4.4ImageZoom

a>1,图像被放大;

a<1,图像被缩小。

以a=1/2为例,即图像被缩小为原始图像的一半。此时,行数和列数都取原图像行数和列数的一半,有如下两种缩小方法(以行为例):(1)取原图像的偶数行组成新图像;(2)取原图像的奇数行组成新图像。3.4.4ImageZooma>1,图像被放大;3.4.4ImageZoomFigure3.14Pixelmapping(evenlines)

3.4.4ImageZoomFigure3.14Pi3.4.4ImageZoomFigure3.14Pixelmapping(oddlines)

3.4.4ImageZoomFigure3.14Pi

图像的放大变换需要对图像尺寸经放大后所多出来的像素点填入适当的像素值,这些像素点在原始图像中没有直接对应点,需要以某种方式进行估计。以a=2为例,即原始图像按全比例放大1倍,将原始图像每行中各像素点在行和列上重复取值一次。

3.4.4图像的缩放(ImageZoom)图像的放大变换需要对图像尺寸经放大后所多出来的像素点图像放大

a=23.4.4图像的缩放(ImageZoom)图像放大3.4.4图像的缩放(ImageZoom)根据理论计算:放大以后图像中的像素点(0,0)对应于原始图中的像素点(0,0)。放大以后图像中的像素点(0,2)对应于原始图像中的(0,1)。

放大后图像的像素点(0,1)对应于原始图中的像素点(0,0.5),(1,0)对应于原始图中的(0.5,0),原始图像中不存在这些像素点,那么放大图像应该如何处理?以像素点(0,0.5)为例,这时可以采用以下两种方法和原始图像对应,其余点逐点类推。(1)将原始图中的像素点(0,0.5)近似为原始图像的像素点(0,0)。(2)将原始图中的像素点(0,0.5)近似为原始图像的像素点(0,1)。3.4.4图像的缩放(ImageZoom)根据理论计算:3.4.4图像的缩放(ImageZoom)3.4.5灰度重采样(GrayResampling)

实现图像的灰度级插值处理,有两种方法:像素移交(向前映射)将输入图像的灰度逐个像素转移到输出图像中。如果一个输入像素被映射到四个输出像素之间的位置,则其灰度值就按插值算法在4个输出像素之间进行分配。像素填充(向后映射)将输出像素逐个地映射回到原始(输入)图像中,以便确定其灰度值。如果一个输出像素被映射到4个输入像素之间,则其灰度值由它们的灰度值插值决定。3.4.5灰度重采样(GrayResampling)3.4.5GrayResamplingFigure3.19Backwardmapping3.4.5GrayResamplingFigure3

常用的灰度插值方法有三种:最近邻法双线性插值法三次内插法考虑到数字图像是二维的,如图3.25所示。由于点(u0,v0)不在整数坐标点上,因此需要根据相邻整数坐标点上的灰度值来插值估算出该点的灰度值f(u0,v0)

。3.4.5灰度重采样(GrayResampling)常用的灰度插值方法有三种:3.4.5灰度重采样(3.4.5灰度重采样(GrayResampling)Figure3.20Nearestneighbormethod3.4.5灰度重采样(GrayResampling)Fi3.4.5GrayResamplingNearestneighbormethod

最近邻法是将点最近的整数坐标点的灰度值取为点的灰度值。在点各相邻像素间灰度变化较小时,这种方法是一种简单快捷的方法,但当点相邻像素间灰度差别很大时,这种灰度估值方法会产生较大的误差。

3.4.5GrayResamplingNearest3.4.5灰度重采样(GrayResampling)BilinearInterpolation

双线性插值法的具体计算过程如下:(1)先根据及插值求:(2)再根据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论