第3章数字图像处理基本运算ppt课件.ppt
基本运算分类点运算代数运算几何运算直方图,三 数字图像处理中基本运算,3.1、数字图像处理基本运算的分类,图像处理基本功能按图像处理的输出形式:1)单幅图像 单幅图像 ,如图3.1.1 (a). 2)多幅图像 单幅图像, 如图3.1.1 (b).3)单(或多)幅图像 数字或符号等。如图3.1.1 (c).,3.1.1 图像处理的基本功能,2 基本运算分类,点运算: 图像的点处理运算(Point Operation)将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应输入像素点的值决定。它常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。点处理运算因其作用性质有时也被称为对比度增强、对比度拉伸或灰度变换等。设输入图像各点的像素值为A(x, y),输出图像各点的像素值为B(x, y),则点处理运算可表示为:邻域运算:输出图像中每个象素的灰度值由输入图像的一个邻域内的几个象素的灰度值共同决定。邻域处理是根据输入图像某像素F(x, y)的一个小邻域N(F(x, y)中的像素值,按某种函数关系来计算出输出像素G(x, y)点的像素值的方法。其数学关系可表示为:,3.2、点运算,作用:改变图像数据占据的灰度范围。 对比度增强、灰度变换几种典型的点运算:1、图像的亮度调整,图3.2.1 原始图像 亮度增加 亮度降低,2、 对比度调整-图像拉伸,(1)灰度的线性变换: 它是将图像中所有点的灰度按线性变换函数进行变换。 设原图像f(x, y) 灰度范围:a, b 变换后图像g(x, y) 灰度范围:c, d 则线性变换可表示为,讨论 :1) d-c=b-a,图像对比度不变. c=a, 没有变化,图3.2.2 (a) c 不等于a, 灰度调整,图3.2.1.2)d-cb-a, 图像灰度拉伸,对比度增强,图3.2.2 (b) ;3)d-cb-c, 对比度减小,图3.2.2 (c) ;4)反色, ,图3.2.2 (d) .,(a) (b) ( c) (d) 图3.2.2 线性点运算实例,灰度线性变换函数f(r)是一个一维线性函数: 其中,a为线性变换的斜率,b为线性变换函数在y轴的截距,如图4.1.1所示。,图4.1.1 灰度线性变换,在灰度的线性变换中: 当a1时,输出图像的对比度将增大; 当a1时,输出图像的对比度将减小; 当a1且b0时,所进行的操作仅使所有像素的灰度值上移或下移,其效果是使整个图像更暗或更亮; 如果a0,则暗区域将变亮,亮区域将变暗,这时完成图像的求补运算。特殊情况下: 当a1,且b0时,输出图像和输入图像相同; 当a-1,且b255时,输出图像的灰度值将反转(负片)。,问题:运算后的灰度值超出灰度范围,怎么办?,原始图像,灰度线性变换处理示例,取a=0.4,b=0 对比度 减小,(2)分段灰度的线性变换目的:突出感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区域,分段线性变换,对灰度区间 0, a和b, Mf加以压缩,a, b进行扩展。通过细心调整折线拐点的位置及控制分段直线的斜率,可对任一灰度区间进行扩展或压缩。,适用于:在黑色或白色附近有噪声干扰的情况。如, 照片中的划痕等。,灰度线性变换处理示例,比较图中两图像的灰度拉伸前后的直方图可以发规原图像050的灰度区间被拉伸到0150;50200的灰度区间被压缩到100150;200255的灰度区间被拉伸到150255。,线性变换,斜率为2,斜率为2.5,分段线性变换,(50,100; 180,220),(50,30;200,220),(3)非线性变换,常见的几种非线性变换函数,3.3、代数运算,1. 定义:两幅图像进行点对点的加、减、乘、除计算。,* g(i,j)255 g(i,j)=255 g(i,j)0 g(i,j)=0 or g(i,j)=|g(i,j)|,2、应用 1)运用减法运算,去除图像的附加噪声去除不需要的叠加性图案检测同一场景两幅图象之间的变化计算物体边界的梯度,运用减法运算,可检测同一场景中两幅图像的变化,如运动目标的跟踪及故障检测2)加法运算可以降低加性随机噪声 通过对多幅图像求平均实现3) 实现遥感图像的比值处理 a) 扩大不同地物的光谱 b) 消除阴影的影响4) 乘法运算,可以用来遮掉图像的一部分。 如将一幅图像与二值图像相乘、掩模操作,加法运算:去除“叠加性”噪音生成图象叠加效果对于两个图象f(x,y)和h(x,y)的均值有:g(x,y) = 1/2f(x,y) + 1/2h(x,y)会得到二次暴光的效果。推广这个公式为:g(x,y) = f(x,y) + h(x,y)其中+= 1 我们可以得到各种图象合成的效果,也可以用于两张图片的衔接,乘法主要应用举例 图象的局部显示:用二值蒙板图象与原图象做乘法,3.4、几何运算,水平镜像,垂直镜像,图像转置,45度旋转,60度旋转,90度旋转,图像缩放(0.5, 0.5),图像平移(100,100),1) 概述 图像的几何变换,是指使用户获得或设计的原始图像,按照需要产生大小、形状和位置的变化。基本变换: 平移、比例缩放、旋转、反射和错切此外还有: 透视变换等复合变换,以及插值运算等。 实 现: 通过与之对应的矩阵线性变换(除了插值运算外),1. 几何变换基础,点 的平移,2)齐次坐标,用矩阵的形式表示:,则,无偏移量,变换矩阵,扩展后的变换矩阵为23阶,这不符合矩阵相乘规则。,扩展,点的坐标,则,齐次坐标表示法:用n1维向量表示n维向量的方法。,齐次坐标的几何意义,齐次坐标的几何意义:相当于点(x, y)落在3D空间H1的平面上, 如果将XOY 平面内的三角形abc 的各顶点表示成齐次坐标(xi, yi, 1)(i=1, 2, 3)的形式,就变成H1平面内的三角形a1b1c1的各顶点。,将2n阶的二维点集矩阵表示成齐次坐标的形式 乘以相应的变换矩阵,即 变换后的点集矩阵=变换矩阵T变换前的点集矩阵(图像上各点的新齐次坐标) (图像上各点的原齐次坐标),3)实现2D图像几何变换的基本变换的一般过程,2 图像平移,图像平移,利用齐次坐标,变换后:,则,(100,100),原图像中有点被移出显示区域,部分信息丢失!,如果不想丢失被移出的部分图像,可以将新生成的图像宽度扩大|x|, 高度扩大|y|!,?,3 图像缩放,将给定的图像在x轴方向按比例缩放fx倍, 在y轴方向按比例缩放fy倍,从而获得一幅新的图像。 fxfy: 全比例缩放; fxfy:产生几何畸变,则,1)最简单的比例缩小:当 fx=fy=12时,图像被缩到原图1/4。简单抽取如下图,亦可采取其它方法,如取邻近个象素点的平均值。,2) 简单的图像放大,当fxfy2时,图像被按全比例放大2倍, 放大后图像中的(0,0)像素对应于原图中的(0,0)像素;(0,1)像素对应于原图中的(0,0.5)像素,该像素不存在!,怎么办?插值!,最简单的插值方法: 对应于原图中的(0,0.5)像素(0,1) ,将其近似为(0,0)也可以近似 (0,1); (1,0)像素近似于(0, 0)或(1,0)像素; (2,0)像素对应于原图中的(1,0)像素,依此类推。结果:马赛克!思考一个问题:如果放大倍数太大,按照前面的方法处理会出现马赛克效应,有没有办法解决?或者想办法至少使之有所改善?,在输入图像f(x,y)中,灰度值仅在整数位置(x,y)处被定义。然而,在几何变换中,输出图像g(x,y)的灰度值一般由处在非整数坐标上的f(x,y)的值来决定。所以,如果把几何变换看成是一个从f到g的映射,则f中的一个像素会映射到g中几个像素之间的位置;反过来也是如此。这就需要利用灰度级插值算法以确定几何变换后的像素的灰度值。 输出像素通常被映射到输入图像中的非整数位置,即位于四个输入像素之间来决定与该位置相对应的灰度值,所以必须进行插值运算以确定输出像素的灰度值。常用的插值算法有最近邻插值法(Nearest neighbor)和双线性插值法(Bilinear)两种。1. 最简单的插值方法是所谓零阶插值(Zero-order)或称为最近邻插值,即令输出像素的灰度值等于离它所映射到的位置最近的输入像素的灰度值。计算十分简单,在许多情况下,其结果也可令人接受。然而,当图像中包含像素之间灰度级有变化的细微结构时,最近邻插值法会在图像中产生人工的痕迹。如图所示为一个用最近邻插位法放大图像的例子,从中可看出结果图像带有锯齿形的边。,2 双线性插值(Bilinear) 双线性插值法是一阶插值(First-oder),和零阶插值法相比可产生更令人满意的效果。只是程序稍复杂一些,运行时间稍长一些。 假设输出图像的宽度为W,高度为H,输入图像的宽度为w高度为h,要将输入图像的尺度拉伸或压缩变换至输出图像的尺度。按照线形插值的方法,将输入图像的宽度方向分为W等份,高度方向分为H等份,那么输出图像中任意一点(x,y)的灰度值就应该由输入图像中四点(a,b)、(a+1,b)、(a,b+1)和(a+1,b+1)的灰度值来确定.,双线性插值(一阶插值),4 图像镜像,水平镜像:,其中,fHeight为图像高度,fWidth为宽度为fWidth,垂直镜像:,5 图像旋转,图像旋转角,其中, 为图像逆时针旋转的角度,注意:(1) 图像旋转之前, 为了避免信息的丢失, 一定要有坐标平移;有下两种方法:,注:一般图像的旋转是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度。图像的旋转变换是图像的位置变换,但旋转后,图像的大小一般会改变。和图像平移一样, 在图像旋转变换中既可以把转出显示区域的图像截去, 也可以扩大图像范围以显示所有的图像。,旋转后的图像(扩大图像、 转出部分被截),图像的旋转例题,结论:按照图像旋转计算公式获得的结果与想象中的差异很大。,出现了两个问题:1)像素的排列不是完全按照原有的相邻关系。这是因为相邻像素之间只能有8个方向,如下图所示。2)会出现许多的空洞点。,(2)图像旋转之后,会出现许多空洞点,须进行填充处理,以获取较好的效果。,最简单的方法是行插值方法或列插值方法: 找出当前行的最小和最大的非白点的坐标,记作: (i, k1)、 (i, k2)。 在(k1, k2)范围内进行插值,插值的方法是:空点的像素值等于前一点的像素值。 同样的操作重复到所有行。经过如上的插值处理之后, 图像效果就变得自然。如上图所示。列插值方法与此类同, 请读者自己给出。,图像旋转出现的两个问题的 本质 都是因为像素值的填充是不连续的。因此可以采用插值填充的方法来解决。,高阶插值双线性插值的缺陷平滑作用使图象细节退化,尤其在放大时不连续性会产生不希望的结果高阶插值的实现用三次样条插值常用卷积来实现将大大增加计算量,思考一个问题:边界的锯齿如何处理?,3.5、邻域运算,在邻域处理中,邻域N(F(x, y)的形状和大小可以是各式各样的。邻域的大小可以是固定的,也可以是随着所处理的像素点的位置而变化的。实用上一般多采用以像素(x, y)为中心的矩形对称邻域。 若图像大小为MN像素,邻域大小为KL像素,则邻域处理时的总计算量为O(MNKL)量级。也就是说,邻域的计算量不仅与被处理的图像大小成正比,也与所用邻域大小成正比。邻域越大,则所需的计算量亦越大。在实际图像处理中常用的是33、55像素的矩形邻域。邻域处理常用于实现图像的锐化或平滑处理。图像平滑处理的主要目的是减少图像中的噪声,对此可以通过考察像素的空间连续性利用其邻域关系,使应该平滑的区域平滑,以除去图像中的噪声。,平滑模板的思想是通过一点和周围邻域内像素点的平均来去除突然变化的点,从而滤掉一定的噪声,其代价是图像有一定程度的模糊,减少图像的模糊是图像平滑处理研究的主要问题之一。模板运算的数学涵义是一种卷积(或互相关)运算。常用的平滑模板有:1. Box模板2. 加权模板(Weighted average filter)等3. 高斯模板(Gaussian Filter) 由=3的连续Gaussian分布经采样、量化,并使模板归一化,思想是通过一点和周围邻域内像素点的平均来去除突然变化的点,从而滤掉一定的噪声,其代价是图像有一定程度的模糊,减少图像的模糊是图像平滑处理研究的主要问题之一,3.6 非几何变换:直方图,直方图图象直方图的定义直方图应用举例直方图均衡化直方图匹配,图象直方图的定义(1) 一个灰度级别在范围0,L-1的数字图象的直方图是一个离散函数 p(rk)= nk/n n 是图象的像素总数 nk是图象中第k个灰度级的像素总数 rk 是第k个灰度级,k = 0,1,2,L-1,图象直方图的定义举例,p(rk),Nk,0.1,0.2,0.3,0.4,31,15,7,23,图象直方图的定义(2) 一个灰度级别在范围0,L-1的数字图象的直方图是一个离散函数 p(rk)= nk k = 0,1,2,L-1 由于rk的增量是1,直方图可表示为:p(k)= nk即,图象中不同灰度级像素出现的次数,两种图象直方图定义的比较 p(rk)= nkp(rk)= nk/n使函数值正则化到0,1区间,成为实数函数函数值的范围与象素的总数无关给出灰度级rk在图象中出现的概率密度统计,较暗图象的直方图,p(rk),nk,较亮图象的直方图,p(rk),nk,对比度较低图象的直方图,p(rk),nk,对比度较高图象的直方图,p(rk),nk,直方图应用举例直方图均衡化一种自动调节图象对比度质量的算法使用的方法是灰度级变换:s = T(r) 基本思想是通过灰度级r的概率密度函数p(rk ),求出灰度级变换T(r) ,建立等值像素出现的次数与结果图象像素值之间的关系。,直方图均衡化方法,直方图均衡方法的基本思想是,对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减。从而达到清晰图像的目的。,一、 求灰度直方图,设f、g分别为原图像和处理后的图像。求出原图f的灰度直方图,设为h。显然,在0,255范围内量化时,h是一个256维的向量。,例,f,h,注:这里为了描述方便起见,设灰度级的分布范围为0,9。,二、计算灰度分布概率,2.1 求出图像f的总体像素个数 Nf = m*n (m,n分别为图像的长和宽)2.2 计算每个灰度级的像素个数在整个 图像中所占的百分比。 hs(i)=h(i)/Nf (i=0,1,255),例,hs,h,三、计算灰度级的累计分布,设图像各灰度级的累计分布hp。,例,hp,hs,四、计算新图像的灰度值,新图像g的灰度值g(i,j)为,例,f,hp,g,五、处理前后灰度直方图的比较,f 的灰度直方图,g 的灰度直方图,直方图均衡化的效果,1. 图像处理算法可分为几类?图像的基本运算有哪几种?2. 为什么进行灰度变换可以增强对比度?如果想减弱对比度怎么办?3. 图像的负片是怎么形成的?,