《计算机视觉》课件-第3章 图像预处理_第1页
《计算机视觉》课件-第3章 图像预处理_第2页
《计算机视觉》课件-第3章 图像预处理_第3页
《计算机视觉》课件-第3章 图像预处理_第4页
《计算机视觉》课件-第3章 图像预处理_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第3章图像预处理3目录计算机视觉

3.13.23.3空域滤波频域滤波直方图修正计算机视觉

图像预处理方法:直方图修正,空域滤波和频域滤波图像预处理的主要目的:是消除图像中的无关信息,恢复有用的、真实的信息,可以提高特征抽取、图像分割、匹配和识别的可靠性。计算机视觉

3.1直方图直方图是一个二维坐标系,横轴表示整幅图像上灰度值的变化范围,纵轴表示每个灰度值的统计个数。直方图能够反映灰度图像的灰度分布特征。原始图像直方图计算机视觉

灰度直方图定义:nk:灰度值等于rk的像素数量(计数值)rh(r)计算机视觉

直方图的性质直方图描述了每个灰度级具有的像素的个数,但它不能为这些像素在图像中的空间位置提供任何线索。因此,任何一幅特定的图像具有唯一的直方图,但反之并不成立。极不相同的图像可以有相同的直方图。例如,在图像中移动物体一般对直方图没有影响。直方图的性质总结如下。不同图像具有相同直方图计算机视觉

3.1.1直方均衡化许多图像的灰度值是非均匀分布的,其中灰度值集中在一个小区间内的图像是很常见的.直方图均衡化是一种通过重新均匀地分布各灰度值来增强图像对比度的方法.一般来说,直方图修正能提高图像的主观质量,因此在处理艺术图像时非常有用.计算机视觉

3.1.2均衡化实现流程:

计算机视觉

例:一幅大小为64×64的灰度图像有8个灰度级(L=8),所示为该图像的灰度分布信息,对该图像进行直方图均衡化处理原图像灰度级k像素数量nkk=0790k=11023k=2850k=3656k=4329k=5245k=6122k=781图像灰度级k归一化灰度级rk像素数量nkk=0r0=0

7900.190.19k=1r1=1/710230.250.44k=2r2=2/78500.210.65k=3r3=3/76560.160.81k=4r4=4/73290.080.89k=5r5=5/72450.060.95k=6r6=6/71220.030.98k=7r7=1810.021表3-1表3-2计算机视觉

计算机视觉

直方图均衡化的优缺点:

直方图均衡化方法对于背景和前景都太亮或者太暗的图像非常有用,尤其是可以改善X光图像中由于曝光过度或曝光不足而导致的骨骼结构显示不清晰的情况,该方法的主要优势就是它是一个相当直观的技术且是可逆操作。

该方法的缺点是,对处理的数据不加选择,这样可能会增加背景无用信息的对比度,并且降低有用信息的对比度;变换后图像的灰度级减少,导致某些细节消失。计算机视觉

3.1.3直方规定化

直方图均衡化实现了图像灰度的均衡分布,对提高整幅图像的对比度有明显作用。但是,在实际应用中,有时候需要对某些特定的灰度区间进行增强。这时,可以使用直方图规定化的方法,按需要灵活地对直方图的分布进行调整。

直方图规定化,也叫做直方图匹配,用于将图像变换为某一特定的灰度分布。因此,规定化操作可以有目的的增强某个灰度区间。在执行规定化操作时,首先要知道变换后的灰度直方图,这样才能确定变换函数。计算机视觉

(1)计算原图像和规定化图像中各灰度级概率分布和;(2)计算原直方图和规定化直方图的累积率分布sk和vk;(3)对于原图像中的灰度级i,计算|si-vj|,使得|si-vj|最小时j的取值,即为i在规定化直方图中对应的灰度级,由此确定映射关系为i→j;直方图规定化的实现步骤:计算机视觉

(b)规定化直方图(a)原始图像直方图序号步骤灰度分布1图像灰度级k012345672原图像各灰度级像素nk7901023850656329245122813原直方图p(nk)0.190.250.210.160.080.060.030.024原直方图累积概率sk0.190.440.650.810.890.950.9815规定化直方图p(zk)0000.150.20.30.20.156规定化直方图累积概率vk0000.150.350.650.851序号步骤灰度分布1原图像灰度级k012345672原直方图累积概率sk0.190.440.650.810.890.950.9813规定化直方图累积vk0000.150.350.650.8514345667775确定映射关系6变换后的直方图0000.190.250.210.240.11原始图像灰度分布信息和规定化信息确定规定化的映射关系(c)规定化变换后的直方图计算机视觉

直方规定化的特点:直方图规定化就是修改一幅图像的直方图,使得其概率分布逼近目标直方图的概率分布。当需要具有特定直方图的图像时,可按照预先设定的某个形状人为的调整图像的直方图。使用直方图规定化的方法,需先根据经验知识,计算最合适的规定直方图,与原始图像一起作为输入,输出为规定化之后的图像,从而达到特定的图像增强效果。直方图均衡化与直方图规定化对比直方图均衡化:自动增强;效果不易控制;得到的是全局增强的结果。直方图规定化:有选择地增强;须给定需要的直方图;可得到局部增强的结果。计算机视觉

3.2空间域滤波图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作;如低通滤波器会滤除信号中的高频成分,从而达到去噪的效果。滤波方法:空间域法和频率域法.空间域方法主要是在空间域内对图像像素直接运算处理。频率域方法就是在图像的某种变换域,对图像的变换值进行运算,如先对图像进行付立叶变换,再对图像的频谱进行某种计算(如滤波等),最后将计算后的图像逆变换到空间域。计算机视觉

其中,M是邻域N内的像素点总数。在像素点[i,j]处取3X3邻域,得:(1)均值滤波器每一个像素值用其局部邻域内所有值的均值置换3.2.1空间平滑域滤波计算机视觉

均值滤波器的实现:进行卷积模板的等权值卷积运算实现。计算机视觉

193X3窗口7X7窗口邻域N的大小控制着滤波程度,对应大卷积模板的大尺度邻域会加大滤波程度.作为去除大噪声的代价,大尺度滤波器也会导致图像细节的损失.计算机视觉

(2)高斯平滑滤波高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器.高斯平滑滤波器对去除服从正态分布的噪声是很有效的.

一维零均值高斯函数为:

其中,高斯分布参数σ决定了高斯滤波器的宽度.计算机视觉

高斯滤波器可认为是一种线性加权的均值滤波器。高斯滤波模板处于掩膜中心位置的像素权值较大,距离掩膜中心较远的像素权值较小,这是为了减小平滑处理中的模糊现象。需要注意的是,该掩膜所有系数的和为16,那么掩膜中心位置的滤波响应可表示为:计算机视觉

#对高斯噪声图像进行高斯平滑滤波,模板大小为3*3,σ=3img_Gaussian_blur=cv.GaussianBlur(img_Gaussian_noise,(3,3),sigmaX=3)#openCv高斯模糊函数show(np.hstack([img_Gaussian_noise,img_Gaussian_blur]))原图、添加了高斯噪声的图像、3×3高斯模板处理后的图像、7×7高斯模板处理后的图像计算机视觉

均值滤波和高斯滤波运算的主要问题:有可能模糊图像中的尖锐不连续部分.按亮度值大小排列像素点选排序像素的中间值作为点的新值。中值滤波器:中值滤波器的基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节,这是因为它不依赖于邻域内那些与典型值差别很大的值。例如,取函数窗,计算以点为中心的函数窗像素中值步骤如下:(3)中值滤波器计算机视觉

计算机视觉

#对椒盐噪声图像进行中值滤波,模板大小为3×3img_median_blur=cv.medianBlur(img_salt_pepper_noise,3)#openCv中值模糊函数show(np.hstack([img_salt_pepper_noise,img_median_blur]))左图为原图,中间为添加椒盐噪声的图像,右图为3×3模板中值滤波后的图像计算机视觉

3.2.2空域锐化滤波与平滑滤波器的作用相反,图像锐化的目的是突出图像中的细节.抑制图像中灰度平坦区域。如果说平滑滤波是一种低通滤波器的话,锐化滤波则属于高通滤波器。(1)基于一阶微分的图像锐化近似一阶微分图像梯度算子Roberts算子Prewitt算子Sobel算子计算机视觉

Roberts算子计算机视觉

Prewitt算子检测竖直边缘检测水平边缘Prewitt算子,近似一阶微分卷积模版:去噪+增强边缘

Gx=(z7+z8+z9)-(z1+z2+z3)Gy=(z3+z6+z9)-(z1+z4+z7)梯度值:

|f||Gx|+|Gy|计算机视觉

Sobel算子Sobel算子,近似一阶微分去噪+增强边缘,给四邻域更大的权重Sobel算子对于象素的位置的影响做了加权,因此效果更好。Gx-220-110-110000-1-1-2112Gyz2z8z5z3z9z6z1z7z4Sobel算子为:

Gx=(z7+2z8+z9)-(z1+2z2+z3)Gy=(z3+2z6+z9)-(z1+2z4+z7)梯度值:|f||Gx|+|Gy|计算机视觉

Sobel例子#Sobel算子锐化importnumpyasnpimportmatplotlib.pyplotaspltimportcv2ascv#定义sobel算子defsobel(img):h,w=img.shapenew_img=np.zeros([h,w])x_img=np.zeros(img.shape)y_img=np.zeros(img.shape)sobel_y=np.array([[-1,-2,-1],[0,0,0],[1,2,1]])sobel_x=np.array([[-1,0,1],[-2,0,2],[-1,0,1]])foriinrange(h-2):forjinrange(w-2):x_img[i+1,j+1]=abs(np.sum(img[i:i+3,j:j+3]*sobel_x))y_img[i+1,j+1]=abs(np.sum(img[i:i+3,j:j+3]*sobel_y))new_img[i+1,j+1]=np.sqrt(np.square(x_img[i+1,j+1])+np.square(y_img[i+1,j+1]))returnnp.uint8(new_img)

img=cv.imread('lenna.png',0)img_sobel=sobel(img)show(np.hstack([img,img_sobel]))计算机视觉

在数字图像上计算二阶微分拉普拉斯算子0-10-14-10-10-1-1-1-18-1-1-1-1(2)基于二阶微分的图像锐化90度旋转各向同性的滤波45度各向同性的滤波因为数字图像是离散形式,则有:拉普拉斯算子的数字近似3*3卷积模版计算机视觉

#Laplace算子锐化importnumpyasnpimportmatplotlib.pyplotaspltimportcv2ascv#定义Laplace算子defLaplace_op(img,n):#n表示采用n邻域Laplace算子h,w=img.shapenew_image=np.zeros((h,w))ifn==4:filter=np.array([[0,1,0],[1,-4,1],[0,1,0]])elifn==8:filter=np.array([[1,1,1],[1,-8,1],[1,1,1]])foriinrange(h-2):forjinrange(w-2):new_image[i+1,j+1]=abs(np.sum(img[i:i+3,j:j+3]*filter))returnnp.uint8(new_image)

img=cv.imread('lenna.png',0)lap4_image=Laplace_op(img,4)lap8_image=Laplace_op(img,8)show(np.hstack([img,lap4_image,lap8_image]))计算机视觉

拉普拉斯算子的特点拉普拉斯算子的运算结果是标量只有幅值,只使用一个模版便可计算得到方向属性丢失实际中几乎不单独使用拉普拉斯算子:二次求导数,对噪声非常敏感通常配合滤波器同时使用计算机视觉

LaplacianofGaussian(LoG)首先用Gauss函数对图像进行平滑,抑制噪声然后对经过平滑的图像使用Laplacian算子利用卷积的性质LoG算子等效于:

Gaussian平滑+Laplacian二阶微分计算机视觉

二维边缘微分滤波器LoG算子:高斯拉普拉斯高斯高斯的导数计算机视觉

计算机视觉

Canny边缘检测器J.Canny,“AComputationalApproachtoEdgeDetection”,IEEETrans.onPAMI,8(6),1986.CSDivision,UniversityofCalifornia,BerkeleyBID:TheBerkeleyInstituteofDesignJohnCannyCanny的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:好的检测(Gooddetection)

-算法能够尽可能多地标识出图像中的实际边缘。好的定位(Goodlocalization)-标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。低的错误检测率(Lowfalsepositives)

-图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。计算机视觉

Canny边缘检测算法算法基本过程:计算图像梯度梯度非极大值抑制双阈值提取边缘点幅值大小M(x,y)方向Theta(x,y)NMS:Non-MaximaSuppression计算机视觉

Canny边缘检测算子主要包括以下几个步骤:①高斯平滑滤波,采用高斯平滑滤波对原图像进行降噪处理。②计算梯度幅值和方向:③非极大值抑制,沿梯度方向,对梯度幅值进行非极大值抑制。④双阈值边缘筛选,设置两个阈值,分别为低阈值和高阈值。计算机视觉

计算图像梯度:高斯函数的一阶导数-11-11(2)使用一阶有限差分计算偏导数的两个阵列:(1)求图像与高斯平滑滤波器卷积:11-1-1相当于与模版进行卷积运算:代表对图像的平滑程度计算机视觉

计算图像梯度:高斯函数的一阶导数(3)幅值和方位角:M代表梯度幅值的大小,在存在边缘的图像位置处,M的值变大,图像的边缘特征被“增强”计算机视觉

非极大值抑制NMS非极大值抑制(NMS:Non-MaximaSuppression)主要思想:由梯度幅值图像M(x,y),仅保留极大值。(严格地说,保留梯度方向上的极大值点。)得到的结果为N(x,y),具体过程:初始化N(x,y)=M(x,y)对于每个点,在梯度方向和反梯度方向各找n个像素点。若M(x,y)不是这些点中的最大点,则将N(x,y)置零,否则保持N(x,y)不变。计算机视觉

非极大值抑制NMS

在梯度方向的沿线上检测该点是否为局部极大值简化的情形,只使用4个方向:{0,45,90,135}

得到的结果N(x,y)包含边缘的宽度为1个像素计算机视觉

对NMS结果进行二值化对上述得到的N(x,y)使用阈值进行二值化使用大的阈值,得到:少量的边缘点许多空隙使用小的阈值,得到:大量的边缘点大量的错误检测计算机视觉

使用双阈值检测边缘两个阈值T1,T2:T2>>T1由T1得到E1(x,y),低阈值边缘图:更大的误检测率由T2得到E2(x,y),高阈值边缘图:更加可靠边缘连接:E1E1E1E1E2E2E2计算机视觉

边缘连接将E2(x,y)中相连的边缘点输出为一幅边缘图像E(x,y)对于E(x,y)中每条边,从端点出发在E1(x,y)中寻找其延长的部分,直至与E(x,y)中另外一条边的端点相连,否则认为E1(x,y)中没有它延长的部分将E(x,y)作为结果输出E1E1E1E1E2E2E2计算机视觉

Canny算子:流程原始图像原始图像经过Gauss平滑计算机视觉

Canny算子:流程梯度幅值图像梯度幅值经过非极大值抑制计算机视觉

Canny算子:流程低阈值边缘图像高阈值边缘图像Canny输出边缘图像计算机视觉

使用Canny算子需要注意的问题Canny算子的优点:参数较少计算效率得到的边缘连续完整参数的选择:Gauss滤波的尺度双阈值的选择(LOW=HIGH*0.4)计算机视觉

渐增高斯滤波模版的尺寸计算机视觉

渐增双阈值的大小,保持low=high*0.4计算机视觉

3.3频域滤波3.3.1离散傅里叶变换一维连续函数f(x)的傅里叶变换可记为F(u),f(x)和F(u)被称为一个傅里叶变换对,记为:离散离散傅里叶变换

u=0时,u=1时,傅里叶变换的每一项是由的所有值(x=0,1,2,...,M-1)的和组成的。DFT变换逆变换获得原函数f(x):计算机视觉

二维DFT可表示为:逆DFT变换公式为:x和y为空间域变量,u和v为频率域变量。计算机视觉

傅里叶变换具有平移性和对称性,这对于其在图像处理中的应用非常重要平移性:图像f(x,y)在空域与指数函数相乘对应于F(u,v)在频域的移位当时则有:计算机视觉

对称性该性质可简化频域滤波器的设计复杂度计算机视觉

3.3.2频域滤波步骤(1)将原始图像f(

温馨提示

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

评论

0/150

提交评论