计算机视觉技术应用项目化教程 课件 项目6 图像平滑滤波操作_第1页
计算机视觉技术应用项目化教程 课件 项目6 图像平滑滤波操作_第2页
计算机视觉技术应用项目化教程 课件 项目6 图像平滑滤波操作_第3页
计算机视觉技术应用项目化教程 课件 项目6 图像平滑滤波操作_第4页
计算机视觉技术应用项目化教程 课件 项目6 图像平滑滤波操作_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

项目六:图像平滑滤波操作让模糊的图像重获新生COMPUTERVISION·计算机视觉系列课程任务导入:老照片的数字化修复📸修复前:岁月斑驳画面布满噪点,细节模糊不清✨修复后:细节清晰噪点去除,质感大幅提升📜场景描述很多珍贵的老照片记录着不可复制的回忆,但在采集、冲洗或长期存储过程中,往往会留下明显的噪点和划痕,岁月斑驳让图像质量严重受损。❓核心问题噪声会干扰图像细节的表达。如何在有效去除噪声干扰的同时,最大程度地保留并还原图像原有的纹理与细节,是数字图像处理领域最基础也最关键的问题之一。🎯学习目标掌握“图像平滑滤波”技术体系,学会针对不同噪声类型选择合适的去噪算法,亲手实现图像磨皮与去噪,让模糊的旧影像重获新生。本项目学习目标知识目标KNOWLEDGE•理解图像噪声的基本概念及其主要类型(如高斯噪声、椒盐噪声)。•掌握图像平滑滤波的基本原理,即通过邻域像素值的计算来抑制噪声。•理解均值、高斯、中值、方框及双边滤波的核心算法思想及区别。•了解卷积核(Kernel)在滤波操作中的关键作用。能力目标SKILLS•熟练使用OpenCV函数(cv2.blur,GaussianBlur,medianBlur等)对图像进行平滑处理。•能够根据不同的噪声类型(如高斯/椒盐)分析并选择最合适的滤波方法。•掌握使用cv2.filter2D()函数自定义卷积核,实现特定的图像滤波效果。素质目标QUALITY•培养分析与解决问题的能力,针对具体的图像质量问题制定并选择最优的技术方案。•提升代码调试和算法优化能力,在实践中深化对理论的理解。•建立严谨求实的科学态度和精益求精的工匠精神。知识准备:图像噪声什么是图像噪声?图像噪声是指图像中存在的不必要的、干扰视觉信息的像素值随机变化。它通常源于图像的获取(如传感器热噪声)或传输过程,会降低图像质量,干扰后续的分析与处理。高斯噪声(GaussianNoise)源于电子电路噪声、低光照或高温环境下的传感器噪声。其像素值的概率密度函数服从正态分布,在视觉上表现为在图像上叠加了一层细密的、均匀的“雪花”状颗粒,降低了图像的对比度和清晰度。💡特点:分布连续、像“磨砂玻璃”或“雪花”椒盐噪声(Salt&Pepper)又称脉冲噪声,通常由传感器故障、传输信道错误或模数转换中的错误导致。表现为图像中随机、稀疏分布的白色亮斑(盐噪声)和黑色暗斑(椒噪声),视觉上非常突兀,严重破坏局部像素信息。💡特点:分布离散、随机的黑白“斑点”知识准备:滤波与卷积滤波Filtering是一种信号处理操作,旨在去除信号中某些特定频率的成分。在图像处理中,它通常指对图像应用一个“滤波器”或“核”(Kernel)来修改图像的像素值。卷积Convolution是实现滤波的一种数学方法。对于图像中的每一个像素,我们将一个较小的矩阵(卷积核)与其周围的邻域像素进行卷积运算(对应位置相乘再求和),得到的结果作为该像素的新值。邻域操作Operation图像平滑滤波本质上是一种邻域操作。对于图像中的每一个像素,其新值是由其邻域内像素值的集合通过某种函数计算得到的。不同的滤波方法,其核心区别就在于这个函数的定义不同。任务6.1:利用均值滤波去除颗粒噪声滤波原理均值滤波(MeanFiltering)是最简单的平滑滤波方法。它通过一个滤波核覆盖图像中的每个像素,计算核内所有像素灰度值的平均值,并用该值替换中心像素,以此达到平滑效果。主要特点✔优点:算法逻辑简单直观,计算速度极快,容易实现。✘缺点:对图像边缘信息同样进行平均,导致边缘细节丢失和模糊;对椒盐噪声的去除效果较差。适用场景:去除图像中比较均匀分布的颗粒噪声。OpenCV核心函数cv2.blur(src,ksize)均值滤波代码实现importcv2importnumpyasnp#定义滚动条回调函数,实时调整核大小并应用滤波defdoBlur(value):kernel_size=cv2.getTrackbarPos('KernelSize','MeanFilterDemo')*2+1resImg=cv2.blur(srcImg,(kernel_size,kernel_size))#核心函数cv2.putText(resImg,f"KernelSize:{kernel_size}x{kernel_size}",(10,30),cv2.FONT_HERSHEY_SIMPLEX,1.0,(0,0,255),2)cv2.imshow('MeanFilterDemo',resImg)#主程序入口srcImg=cv2.imread("img/lenanoise.jpg");dWindow('MeanFilterDemo')cv2.createTrackbar('KernelSize','MeanFilterDemo',0,20,doBlur)cv2.waitKey(0);cv2.destroyAllWindows()任务6.2:利用高斯滤波去除高斯噪声核心原理高斯滤波(GaussianFiltering)是一种线性平滑滤波,其核心思想是对邻域像素进行加权平均,权重由高斯函数决定。离中心像素越近的像素,权重越大,从而让结果更平滑。主要特点✅优点:对高斯噪声抑制效果极佳,相比于均值滤波,能更好地保留图像边缘细节,不易产生边缘模糊。⚠️缺点:计算量略高于均值滤波,需计算权重系数。OpenCV核心函数cv2.GaussianBlur(src,ksize,sigmaX)适用于去除高斯噪声的首选平滑方法高斯滤波代码实现#导入库并定义回调函数,通过滑动条实时调整参数importcv2importnumpyasnpdefdoGaussianBlur(value):k=cv2.getTrackbarPos('KernelSize','Demo')*2+1sigma=cv2.getTrackbarPos('Sigma','Demo')/10.0img=cv2.GaussianBlur(src,(k,k),sigmaX=sigma)#核心函数if__name__=='__main__':src=cv2.imread('noisy_image.jpg');dWindow('Demo')cv2.createTrackbar('Kernel','Demo',0,20,doGaussianBlur)cv2.createTrackbar('Sigma','Demo',1,50,doGaussianBlur)cv2.waitKey(0);cv2.destroyAllWindows()任务6.3:基于方框滤波进行归一化处理算法原理方框滤波(BoxFiltering)是一种通用的线性滤波方法,其核心逻辑是计算核区域内所有像素值的总和。它提供了一个关键开关,让开发者能自由选择是否对结果进行“归一化”处理。关键参数:normalize•True(默认):结果=邻域像素和÷核面积,等同于“均值滤波”。•False:结果=邻域像素和。直接求和会导致像素值易溢出255,产生高亮“亮斑”。适用场景当需要对图像进行简单的邻域求和运算而非求平均时使用;或作为均值滤波的另一种更底层、更灵活的实现方式,以满足特定的图像处理逻辑需求。OpenCV核心函数cv2.boxFilter(src,ddepth,ksize,normalize)注:ddepth通常设为-1,代表输出图像与原图深度一致任务6.4:利用中值滤波去除椒盐噪声核心原理·MedianFiltering一种非线性滤波技术,将核内所有像素的灰度值排序后,取中间值作为中心像素的新值,以此替代原像素。显著优点•去除椒盐噪声的首选方案,孤立噪点会被排除在中值之外。

•相比均值滤波,更好地保护图像边缘不模糊。主要局限•计算复杂度高于均值滤波,因涉及排序操作。

•对高斯噪声等分布均匀的噪声效果不佳。📝适用场景&核心代码场景:处理受椒盐噪声/脉冲噪声污染的图像

OpenCV函数:cv2.medianBlur(src,ksize)(ksize必须为奇数)图像中值滤波效果对比:原图vs滤波后(去噪保边)任务6.5:利用双边滤波进行保边去噪核心原理双边滤波是一种非线性滤波算法,它在计算像素新值时,同时结合了空间域和像素值域的相似度作为权重。•空间高斯权重:确保只考虑中心像素附近的像素点,体现“空间邻近性”。•值域高斯权重:确保只考虑与中心像素颜色值相近的像素点,体现“像素相似性”。特点分析👍主要优点能在有效去除图像噪声的同时,最大程度保留图像的边缘细节,避免了传统高斯滤波造成的边缘模糊。👎主要缺点由于需要同时计算两个维度的高斯权重,且不具备可分离性,计算成本远高于高斯滤波,处理速度较慢。典型应用场景•人像美颜与皮肤磨皮

•医学图像的边缘保持去噪

•保留纹理的通用图像降噪处理OpenCV核心函数cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace)参数:d(邻域直径),sigmaColor(颜色标准差),sigmaSpace(空间标准差)任务6.6:自定义卷积核实现滤波原理剖析什么是自定义卷积?OpenCV提供的通用滤波函数cv2.filter2D()打破了内置滤波器的限制,允许开发者自定义任意维度的卷积核(Kernel)进行卷积运算。这种方式赋予了我们极大的灵活性,可以自由设计算法来实现锐化、模糊、浮雕、边缘检测等各种定制化的视觉效果。核心函数cv2.filter2D(src,ddepth,kernel)参数解析:•src:输入图像(原图)。•ddepth:输出图像深度,-1代表与原图一致。•kernel:Numpy数组形式的卷积核矩阵。代码实战:图像锐化#1.定义锐化卷积核

kernel=np.array([

[0,-1,0],

[-1,5,-1],

[0,-1,0]

])#2.应用卷积操作

img=cv2.imread("lenna.jpg")

sharp=cv2.filter2D(img,-1,kernel)项目总结:滤波方法对比均值滤波🔍核心原理:

对目标像素的邻域像素值直接取算术平均值。✅显著优点:

算法逻辑极其简单,计算速度快,易于实现。⚠️主要缺点:

对图像边缘信息破坏严重,会导致画面整体模糊。🎯适用场景:

主要用于去除图像中的均匀分布颗粒噪声。高斯滤波🔍核心原理:

根据像素距离进行加权平均,距离越近权重越高。✅显著优点:

平滑自然,在有效降噪的同时能较好地保留边缘。⚠️主要缺点:

相比均值滤波,其权重计算过程较为复杂,计算量大。🎯适用场景:

专门用于处理图像中的高斯噪声(正态分布噪声)。方框滤波🔍核心原理:

对邻域像素值直接求和,可选择是否进行归一化处理。✅显著优点:

高度灵活,通过参数设置即可实现均值滤波或求和滤波。⚠️主要缺点:

当开启归一化时,缺点与均值滤波相同,易模糊边缘。🎯适用场景:

适用范围较广,常用于需要灵活控制求和或平均的场景。中值滤波🔍核心原理:

将邻域内所有像素排序后取中间值作为当前像素值。✅显著优点:

去除椒盐噪声效果极佳,且能很好地保护图像边缘细节。⚠️主要缺点:

由于包含排序运算,处理速度较慢,可能破坏纹理细节。🎯适用场景:

处理图像中的椒盐噪声(黑白噪点)的首选方案。双边滤波🔍核心原理:

结合“空间邻近度”与“像素值相似度”进行加权滤波。✅显著优点:

目前保边去噪效果最好的滤波方法之一,视觉效果自然。⚠️主要缺点:

算法复杂度高,计算成本非常昂贵,处理耗时。🎯适用场景:

适用于对去噪和边缘保留都有高要求的场景。习题与思考01/选择题Q1.对于去除图像中的椒盐噪声,最有效的滤波方法是?

A.均值滤波B.高斯滤波

C.中值滤波D.双边滤波Q2.以下哪种滤波方法在去噪同时,最能保持图像边缘清晰度?

A.均值滤波B.高斯滤波

C.中值滤波D.双边滤波02/简答题Q

温馨提示

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

评论

0/150

提交评论