python+opencv-04 边缘保留滤波(EPF) 磨皮神器

本文介绍了边缘保留滤波(EPF)的概念,解释了其相较于传统滤波器在保留图像边缘方面的优势。通过OpenCV展示了双边滤波和均值漂移滤波两种实现方式,并分析了各自的滤波效果,强调了EPF在图像去噪的同时能有效保护边缘的特点。
摘要由CSDN通过智能技术生成

python+opencv-04 边缘保留滤波(EPF) 磨皮神器

边缘保留滤波(EPF)

关于去燥的方法,在前两个博客中我们已经进行了初步的讨论,我么已经见证了中值滤波、均值滤波、自定义滤波和高斯滤波,也看到了他们都可以对噪声进行抑制。让我们接着上两节的问题继续思考,在对图像进行去燥时前两节提到的那四种滤波算法有没有什么不足呢。
我们对去燥之后的照片进行观察可以发现,前面的四种去燥方法的确抑制了噪声,但是同时也使图像本身变得更加朦胧了。当人物和背景同时存在时,人物和背景之间的界限也变得模糊不清了。这其实是和算法本身的局限性密切相关的,前面四种算法像是一个没有感情的机器人,对所有的像素点都是一视同仁,不管你是人像还是背景还是分界线,我的计算方法永远不变,上来先卷积了再说。这种类似中央空调似的做法,也就导致了人像、背景、边界混在一起,主次难辨了。
基于此,一种优化的滤波算法被设计了出来——边缘保留滤波。正如它的名字表明的那样,这种滤波算法可以把图像的边缘保留下来。
通过前面的探讨我们知道,滤波的本质是把图像和核函数进行相乘再求和,从这个层面来看,核函数更像是给图像点加了个权值。我们这样来想,当计算到距离边缘较近的点时,如果这个点属于人像,我们就把在背景部分的那些权值给置零,从而在模糊时参与计算的只有人像的像素点,背景部分虽然参与了卷积计算,但是由于核函数的权值为零,所有不对滤波结果产生影响。
于是,我们就知道了,与前面的几种滤波最大的区别是,前面几种滤波算法核函数的值是始终不变的。而边缘保留滤波(EPF)的核函数是时刻变化的。
为了更好的理解边缘保留滤波(EPF)的思想,我们可以来看一下边缘保留滤波(EPF)中最经典的一张图。在这里插入图片描述
我们来看一下左上角的那个黄图。其中白色那个点就是像素点靠近边缘的情况。我们可以把比较高的那部分想象成像素值比较高的人像,比较低的那部分想象成像素值比较低的背景。这样在滤波的时候,人像那部分权值不为0,比较低的背景部分权值为0。这样只有人像部分参与了滤波。同理,在进行背景部分的滤波时也是这样。这样大家各玩各的,互不影响,边缘就被保留了下来。

程序代码

OpenCV中给我们提供了两种实现边缘保留滤波的方法。
一种是:双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。
另一种是:均值漂移滤波(pyrMeanShiftFiltering)这里要说明的是,在图像处理中均值漂移滤波常用来做图像分割。这是由于均值漂移滤波使用的是聚类算法,对于相近的颜色会使用一种颜色代替,最后会丢失大量的细节。
在百度图片库中选择一张图片如下:

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值