图像预处理.ppt
图像预处理,4.图像预处理,图像采集后,为更有效地获取其中的信息,常需要对图像进行一定的预加工。一方面,图像在采集中有可能发生几何失真,为恢复场景和图像的空间对应关系,需要进行坐标变换。另一方面,对图像的幅度也需要进行一定的调整,以改善图像的视觉质量。另外,图像的采集中还会受到噪声等干扰,需要消除它们的影响。,4.图像预处理,4.1坐标变换4.2灰度映射,4.1坐标变换,对图像的坐标变换实际上是对像素的坐标变换,变换的结果是改变了像素在图像中的位置。对图像的几何失真校正就是坐标变换的一种具体应用。,4.1.1基本坐标变换,1.变换的表达 图像像素的坐标记为(x,y),若用齐次坐标,则记为(x,y,1)。坐标变换可借助矩阵形式写为 式中v是变换前的坐标矢量:是变换后的坐标矢量:,A是一个具有如下形式的33变换矩阵,4.1.1基本坐标变换,4.1.1基本坐标变换,2.平移变换 平移变换改变像素的位置。设用平移量 将坐标为(x,y)的像素平移到新的位置。这个平移变换矩阵可写为,4.1.1基本坐标变换,执行反坐标变换的逆矩阵也很容易推出,平移变换的逆矩阵为,4.1.1基本坐标变换,3.尺度变换 尺度变换也称放缩变换,它会改变像素的距离,对物体来说则改变了物体的尺度。尺度变换一般是沿坐标轴方向进行的,或可分解为沿坐标轴方向进行的变换。,4.1.1基本坐标变换,当分别用 和 沿X和Y轴进行尺度变换时,尺度变换矩阵可写为,当 或 不为整数时,原图像中的有些像素在尺度变换后的坐标值可能不为整数,导致变换后图像中出现“孔”,此时需要进行取整操作和插值操作。,4.1.1基本坐标变换,4.1.1基本坐标变换,尺度变换的逆矩阵可写为,4.1.1基本坐标变换,旋转变换 旋转变换改变像素间的相对方位。如果定义顺时针旋转为正,则旋转变换的矩阵可写为 其中为旋转的角度,旋转矩阵的模是1。,4.1.1基本坐标变换,旋转变换的逆矩阵为,基本的坐标变换可以级连进行。连续的多个变换可借助矩阵的相乘最后用一个单独的33变换矩阵来表示。例如,对一个坐标为v的像素依次进行平移、尺度和旋转变换可表示为式中A是一个33矩阵,A=RST。注意:这些矩阵的运算次序一般不可互换。,4.1.1基本坐标变换,4.1.1基本坐标变换,例:实现对一个像素先平移,再旋转,最后反平移的变换矩阵为,4.1.2几何失真校正,在许多实际的图像采集处理过程中,图像中像素之间的空间关系会发生变化,这时可以说是图像产生了几何失真或几何畸变(显示器上出现枕形或桶形的情况、侧投影造成的各部分比例失调都是这方面的例子)换句话说,原始场景中各部分之间的空间关系与图像中各对应像素间的空间关系不一致。,4.1.2几何失真校正,设原图像为f(x,y),受到几何失真的影响变成g(x,y)。校正几何失真既要根据(x,y)和(x,y)关系由(x,y)确定(x,y),也要根据f(x,y)和g(x,y)的关系由g(x,y)确定f(x,y)。对图像的几何失真校正主要包括两个步骤空间变换:对图像平面上的像素进行重新排列以恢复像素原来的空间关系。灰度插值:对空间变换后的像素赋予相应的灰度值以灰度原位置的灰度值。,4.1.2几何失真校正,1.空间变换 失真图像g(x,y)的坐标是(x,y),而不是原坐标(x,y),上述变化在一般情况下可表示为:x=s(x,y)y=t(x,y),4.1.2几何失真校正,其中s(x,y)和t(x,y)代表产生几何失真图像的两个空间变换函数。线性失真时,s(x,y)和t(x,y)可写为,4.1.2几何失真校正,如果知道s(x,y)和t(x,y)的解析表达,就可以通过反变换来恢复图像。上图给出了一个在失真图上的四边形区域和在校正图上与其对应的四边形区域。这两个四边形区域的顶点比较容易检测,且不易混淆,所以可作为对应点。,4.1.2几何失真校正,设在四边形区域内的几何失真过程可用一对双线性等式表示(是一般非线性二次失真的一种特例),则失真前后两图像坐标间的关系为,4.1.2几何失真校正,2.灰度插值 尽管实际图像中的(x,y)总是整数,但由前面式中算得的(x,y)值一般不是整数。失真图g(x,y)的像素灰度值仅在像素坐标为整数处有定义,而非整数处的像素灰度值就要用其周围一些整数处的像素灰度值来计算,这叫灰度插值。,4.1.2几何失真校正,左侧是原始不失真图,右侧是实际采集的失真图。几何校正就是把失真图恢复成原始图。,4.1.2几何失真校正,灰度赋值可用不同的插值方法实现。最简单的是最近邻插值,也叫零阶插值,就是将离(x,y)点最近的像素的灰度值作为(x,y)点的灰度值赋给原图(x,y)处的像素。这种方法计算量小,但缺点是有时不够精确。,4.1.2几何失真校正,为提高精度,可采用双线性插值。它利用(x,y)点的4个最近邻像素的灰度值来计算(x,y)点处的灰度值。如图,设(x,y)点的4个最近邻像素分别为A,B,C,D,它们的坐标分为(i,j),(i+1,j),(i,j+1),(i+1,j+1),它们的灰度值分别为g(A),g(B),g(C),g(D)。,4.1.2几何失真校正,首先计算E和F这两个点的灰度值g(E)和g(F),即(x,y)点的灰度值g(x,y)为:,4.2灰度映射,一幅灰度图像的视觉效果取决于该图像中各个像素的灰度,灰度映射通过改变图像中所有或部分像素的灰度来达到改善图像视觉效果的目的。,4.2灰度映射,4.2.1灰度映射原理 灰度映射是一种基于图像的点操作。它通过对原始图像中的每个像素赋予一个新的灰度值来增强图像。具体方法是根据增强的目的设计某种映射规则,并用相应的映射函数来表示。对原始图像中的每个像素都用这个映射函数将其原来的灰度值转化成另一灰度值输出。,4.2.1灰度映射原理,基于图像像素的点操作映射函数 t=T(s),4.2.1灰度映射原理,上图左边所示的原始图像有两种像素,灰度值分别为s=G和s=B。如果对它们根据映射函数T(s)进行映射,则原灰度值G被映射为灰度值t=R,而原灰度值B被映射为灰度值t=G。换句话说,原始图像中灰度值为G的像素映射后灰度值为R,而原始图像中灰度值为B的像素映射后灰度值为G。输出图像为上图右边所示。,4.2.2灰度映射示例,灰度映射技术的关键是根据增强要求设计映射函数。下图所示为几个典型的映射函数的示例。,4.2.2灰度映射示例,1.图像求反 图4.2.2(a)所示的映射函数可用来对图像求反,即将原图的灰度值翻转,使黑变白,使白变黑。普通黑白底片和照片的关系就是这样的。具体映射时,对图像的每个像素,将灰度值s根据映射曲线映射为t。满足下列关系:t=(L-1)-s,4.2.2灰度映射示例,2.动态范围压缩 一种常用的压缩方法是借助对数形式的映射函数。t=Clog(1+|s|)其中C为尺度比例常数。利用函数可将原来动态范围很大的s转换为动态范围较小的t,从而可在动态范围较小的设备上显示。,4.2.2灰度映射示例,3.对比度增强 图4.2.2所示的映射函数可以进行对比度增强,其目标与动态范围压缩相反。它将图像灰度分阶段量化成较少的级数,这样可在保持原图动态范围的基础上,减少灰度级数,即减少表示灰度所需的比特数,从而获得数据量压缩的小国,4.2.2灰度映射示例,图4.2.3所示为利用前面介绍的3中灰度映射方法进行图像空域增强的例子。,4.2.2灰度映射示例,图4.2.3上面一排是原始图,下面一排为增强结果。图(a)所示的上下两图在灰度方面是互补的。图(b)所示中左边人的制服肩部有几个高光反射点,其亮度远高于图像中其它位置,所以整幅图像有很大的灰度差。图(c)通过增强对比度,使长城更加明显突出。,第一学期教的是三年级数学,也是有一次考了一张统计的试卷。其中有一题:上面有一张关于体重的条形统计图下面有几个题目,期中的第三小题是这样说的:你从上面的统计图中,你知道了什么?结果有学生甲回答:我知道小红的体重是一会儿轻一会儿重(语文学的太好了,知道用一会儿一会儿造句了)学生乙回答:我知道画条形统计图是要用铅笔画的(我不禁反思:难道我平时太强调画图要用铅笔这个问题了?),Histogram Processing,图象直方图的定义(1)一个灰度级别在范围0,L-1的数字图象的直方图是一个离散函数 p(rk)=nk/n n 是图象的像素总数 nk是图象中第k个灰度级的像素总数 rk 是第k个灰度级,k=0,1,2,L-1,灰度直方图,图象直方图的定义举例,p(rk),rk,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),rk,灰度直方图,较亮图象的直方图,p(rk),rk,灰度直方图,对比度较低图象的直方图,灰度直方图,对比度较高图象的直方图,灰度直方图,Pixels in this type of image are white and black and hundreds of shades of gray.,灰度直方图,A high contrast image generates a histogram with high pixel count at the white and black extremes of the range.,灰度直方图,Slide Mapping changes brightness by adding or subtracting a constant value.For example,adding a constant of 50 to every pixel in this image,slides the histogram to the right by 50 gray levels.,灰度直方图,Stretch Mapping improves poor contrast by multiplying or dividing each pixel by a constant.Multiplying spreads the pixel values out so that a greater range of gray is used.,灰度直方图,Complement mapping changes the digital value of each pixel to reverse the image.Black pixels become white.White pixels become black.And gray pixels become their complement,4.3直方图修正,直方图是对图像的一种抽象表示方式,借助对图像直方图的修改或变换,可以改变图像像素的灰度分布,从而达到对图像进行增强的目的。直方图修正以概率论为基础,常用的方法主要有直方图均衡化和直方图规定化。,4.3.1直方图均衡化,1.直方图的累积直方图直方图均衡化是一种典型的通过对图像的直方图进行修正来获得图像增强效果的自动方法。直方图是通过对图像的统计得到的。灰度直方图反映了该图中不同灰度级出现的统计情况。,4.3.1直方图均衡化,(a).所示的图像中,图中像素的灰度级共有4个,从0到3.,4.3.1直方图均衡化,(b)所示灰度统计直方图是对不同灰度像素的统计,其中横轴表示不同的灰度级,纵轴表示图像中各个灰度级像素的个数。(c)所示是对(a)所示的图像统计得到的累积直方图。灰度直方图是一个1-D的离散函数 灰度累积直方图也是一个1-D的离散函数,4.3.1直方图均衡化,2.直方图均衡化原理 直方图均衡化主要用来增强动态范围偏小的图像的反差。这个方法的基本思想是把原始图变换为整个灰度范围内均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。,4.3.1直方图均衡化,直方图均衡化的基本思想是把原始图的直方图变换为在整个灰度范围内均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果增强函数需要满足两个条件(1)在灰度范围内是一个单值单增函数(2)变换前后图像的灰度值动态范围一致,4.3.1直方图均衡化,3.直方图均衡化的列表计算,4.3.1直方图均衡化,设有一幅6464,8bit的灰度图像,其直方图如上图(a)所示。所有的均衡化变换函数(即累积方法图)如图(b)所示,均衡化后得到的直方图如图(c)所示。这里可以试比较图(d)所示的粗折线(实际均衡化结果)与水平直线(理想均衡化结果)图中虚线为原直方图包络。,4.3.1直方图均衡化,需注意,由于不能将同一个灰度值的各个像素变换到不同灰度级,所以数字图像直方图均衡化的结果一般只是近似均衡的直方图。这里可试比较图4.3.2(d)所示的粗折线(实际均衡化结果)与水平直线(理想均衡化结果),图中虚线为原直方图包络。,4.3.1直方图均衡化,直方图均衡化效果 增加了灰度动态范围,所以也增加了对比度 原始图像和直方图 均衡化结果及直方图,4.3.2直方图规定化,直方图均衡化的优点是能自动地增强整个图像的对比度,计算过程中没有用户可以调整的参数。缺点是正因为如此,它的具体增强效果无法由用户控制,因为处理的结果总是得到全局均衡化的直方图。,4.3.2直方图规定化,实际应用中有时需要修正直方图使之成为某个特别需要的形状,从而可以有选择地增强图像中某个灰度值范围内的对比度或使图像灰度值的分布满足特定的要求,这时可采用比较灵活的直方图规定化方法。这个方法中,用户可以指定需要的规定化函数来得到特殊的增强功能。一般来说正确的选择规定化函数常有可能获得比直方图均衡更好的效果。,4.3.2直方图规定化,1.直方图规定化原理 用户可以指定需要的规定化函数来得到特殊的增强功能直方图规定化方法主要的3个步骤(1)对原始图的直方图进行灰度均衡化。(2)规定需要的直方图,并计算能使规定的直方图均衡化的变换。(3)将第1步得到的变换反转过来,即将原始直方图对应映射到规定的直方图。,4.3.2直方图规定化,单映射规则组映射规则,4.3.2直方图规定化,2.直方图规定化的列表计算,4.3.2直方图规定化,设一幅原始图像的直方图和需要的规定直方图分别为上图(a)和(b)所示,它们对应的累积直方图可分别计算出,分别为(c)和(d)所示。要实现规定化映射,就是要将原始累积直方图在第3步转化成尽可能接近规定后累积直方图的形状。根据单映射规则和组映射规则得到的两种直方图规定化结果分别为(e)和(f)所示。,4.3.2直方图规定化,3.直方图规定化的绘图计算,4.3.2直方图规定化,直方图规定化中使用的单映射规则是原始累积直方图的各项依次向规定累积直方图映射,每次都选择最接近的数值,即遵循最短或者说最直的连线。上图所示的数据同图4.3.4。上图中,原始累积直方图对应灰度为0,1和2的三项都映射到规定累积直方图对应灰度为3的那一项。,4.3.2直方图规定化,组映射示例,4.3.2直方图规定化,直方图规定化中使用的组映射规则是取规定累积直方图的各项依次向原始累积直方图映射,每次都选择最接近的数值,即遵循最短或者说最直的连线,图4.3.6所示的数据同4.3.5,但由于所用映射规则不同,结果也不同。,4.3.2直方图规定化,对比图4.3.5和图4.3.6,直观上用映射方法得到的映射线比较垂直,这表明此时规定累积直方图和原始累积直方图比较一致。另外由两图可以看出,单映射规则是一种有偏的映射规则,因为一些对应灰度级被有偏地映射到接近计算开始的灰度级,而组映射规则是统计无偏的。,4.4空域滤波,空域滤波是指利用像素及像素邻域组成的空间进行图像增强的方法。这里之所以用“滤波”这个词,是借用了频域里的概念。事实上空域滤波技术的效果也常借助频域概念来解释。,图像清晰或模糊,说有个近视眼出去打酱油,半路上想上厕所,正好路旁有个茅厕,他就走了进去,可是酱油没地方放,他头一抬,看见墙上有个钉子,就高兴地把酱油挂了上去,谁知道这不是钉子,而是一个蜻蜓翘着尾巴,所以酱油被打碎了!近视眼很生气,第二天,他又路过这个茅厕,看见昨天那个蜻蜓还在那儿,他就抡起巴掌拍过去,这下坏了,手掌被钉子戳了个洞,原来有个好心人看见他的酱油打碎了,就在那钉了个钉子!,4.4空域滤波,4.4.1原理和分类4.4.2线性平滑滤波4.4.3线性锐化滤波4.4.4非线性平滑滤波4.4.5非线性锐化滤波,空域滤波及模板,1)空域滤波处理的基本概念空域滤波及滤波器的定义 使用空域模板进行的图像处理,被称为空域滤波。模板本身被称为空域滤波器,空域滤波,空域滤波(模板运算),模板运算的定义对于某图象的子图像:z1 z2 z3 z4 z5 z6 z7 z8 z9z5的模板运算公式为:R=w1z1+w2z2+.+w9z9,4.4空域滤波,4.4.1 原理与分类空域滤波是在图像空间通过邻域操作完成的。邻域操作常借助模板运算来实现。1.模板运算 模板是实现空域滤波的基本工具。模板运算的基本思路是将赋予某个像素的值作为它本身灰度值和其相邻像素灰度值的函数。模板可看做一幅尺寸为nn的小图像(远小于常见的图像尺寸。最基本的尺寸为33,更大尺寸模板如55、77等也常得到使用。,4.4空域滤波,模板运算中最常用的是模板卷积。,4.4空域滤波,模板卷积在空域实现的主要步骤如下:(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合。(2)将模板上的各个系数与模板下各对应像素的灰度值相乘。(3)将所有乘积相加(为保持灰度范围,常将结果再除以模板的系数个数)。(4)将上述运算结果(模板的输出响应)赋给图中对应模板中心位置的像素。,4.4空域滤波,2.技术分类借助模板运算可进行空域滤波,将原始图像转换为增强图像。空域滤波增强的目的主要是平滑图像或锐化图像,所以空域滤波可分为平滑滤波和锐化滤波。,4.4空域滤波,(1)平滑滤波能减弱或消除图像中的高频率分量,但不影响低频率分量。因为高频分量对应图像中的区域边缘等灰度值具有较大、较快变化的部分,平滑滤波将这些分量滤去可减少局部灰度的起伏,使图像变得比较平滑。,4.4空域滤波,实际中,平滑滤波可用于消除图像中的噪声,以及在提取较大的目标前去除太小的细节或将目标内的小间断连接起来。,4.4空域滤波,(2)锐化滤波能减弱或消除图像中的低频率分量,但不影响高频率分量。因为低频分量对应图像中灰度值缓慢变化的区域,因而与图像的整体特性如整体对比度和平均灰度值等有关。锐化滤波将这些分量滤去可使图像反差增加,边缘明显。实际中,锐化滤波可用于增强图像中被模糊的细节或景物的边缘。,例图,4.4空域滤波,空域滤波分为4类。,4.4空域滤波,4.4.2 线性平滑滤波 线性滤波可用模板卷积实现,线性平滑滤波所用卷积模板的系数均为正值。1.邻域平均 最简单的平滑滤波是用一个像素邻域平均值作为滤波结果,即邻域平均,此时滤波模板的所有系数都取为1。,4.4空域滤波,4.4空域滤波,上图(a)为一幅原始的8比特灰度级图像,图(b)为叠加了均匀分布随机噪声的结果,图(c)、图(d)、图(e)、图(f)和图(g)依次为用33、55、77、99和1111平滑模板对图进行平滑滤波的结果。,4.4空域滤波,当所用的平滑模板尺寸增大时,对噪声的消除效果有所增强。不过同时所得到的图像变得更为模糊,可视的细节逐步减少,且运算量也增大。,4.4空域滤波,2.加权平均 对同一尺寸的模板,可对不同位置的系数采用不同的数值,即加权平均。一般认为离对应模板中心像素近的像素应对滤波结果有较大贡献,所以接近模板中心的系数比较大,而模板边界附近的系数应比较小。,4.4空域滤波,4.4.3线性锐化滤波 邻域平均或加权平均(都对应积分)可以平滑图像,反过来利用对应微分的方法可以对图像进行锐化滤波。最基本的锐化滤波是线性锐化滤波。线性锐化滤波也可以用模板卷积来实现,但所用模板与线性平滑滤波的所用模板不同,线性锐化滤波的模板仅中心系数为正,而周围的系数均为负值。,4.4空域滤波,对33模板来说,典型的系数值是图4.4.1(b)所示的模板中k0=4,k2=k4=k6=k8=0,而其余系数为-1,或在或在图4.4.1(b)所示模板中取k0=8,而其余系数为-1。由上述两种取系数值的方法分别得到的两个拉普拉斯模板如图,4.4空域滤波,4.4.4非线性平滑滤波 线性平滑滤波在消除图像中噪声的同时也会模糊图像中的细节。利用非线性平滑滤波可在消除图像中噪声的同时较好地保持图像中的细节。最常用的非线性平滑滤波是中值滤波。,非线性过滤器,线性过滤器的定义使用模板进行结果像素值的计算,结果值直接取决于像素邻域的值,而不使用乘积和的计算 R=w1z1+w2z2+wnzn非线性过滤器的定义,非线性过滤器,最大值滤波主要用途:寻找最亮点计算公式:R=max zk|k=1,2,9最小值滤波主要用途:寻找最暗点计算公式:R=min zk|k=1,2,9中值滤波主要用途:钝化图像、去除噪音计算公式:R=mid zk|k=1,2,9,非线性过滤器,最大值滤波,非线性过滤器,最小值滤波,4.4空域滤波,中值滤波可用如下步骤完成(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合。(2)读取模板下各对应像素的灰度值。(3)将这些灰度值从小到大排成一列。(4)找出这些灰度值里排在中间的一个。(5)将这个中间值赋给对应模板中心位置的像素。,中值滤波既能消除噪声(尤其是脉冲噪声),又能保持图像细节。轮廓比较清晰,4.4空域滤波,4.4.5 非线性锐化滤波图像处理中最常用的微分方法是利用梯度(基于一阶微分)。对一个连续函数f(x,y),其梯度是一个矢量,由分别沿X和Y方向的两个偏导分量组成,4.4空域滤波,在离散空间,微分用差分实现,两个常用的差分模板如图,它们结合构成一个梯度算子。,4.4 空域滤波,实际滤波中,常使用这个梯度算子输出矢量的幅度(即矢量的模),即梯度幅度。矢量的模可分别以2为范数计算(对应欧式距离),以1为范数计算(对应城区距离)或以为范数计算(对应棋盘距离)。上述这些组合模板计算的方法本身都是非线性的。,