双边滤波器cv2.bilateralFilter

这篇具有很好参考价值的文章主要介绍了双边滤波器cv2.bilateralFilter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

双边滤波器cv2.bilateralFilter

双边滤波是综合考虑空间信息和色彩信息的滤波方式,在滤波过程中能够有效地保护图像内的边缘信息,双边滤波在计算某一个像素点的新值时,不仅考虑距离信息(距离越远,权重越小),还考虑色彩信息(色彩差别越大,权重越小)



函数介绍

双边滤波器的函数为cv2. bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)

  1. src参数:指代要处理的图像,可以是任意通道数的图像,在处理时能够对各通道独立处理
  2. d参数:这是空间距离参数,表示的是以当前像素点为中心点的直径,这个值一般为正值,当为非正值时会自动从参数 sigmaSpace 计算得到
  3. sigmaColor参数:该值是指在进行滤波处理时选取的颜色差值范围,周围像素点与当前像素点的像素值差值小于这个参数值时,才可参与到当前滤波
  4. sigmaSpace参数:坐标空间中的sigma值
  5. dst参数:函数返回值,默认为空
  6. borderType参数:描述了图像边缘像素点的外插方式,默认为空

一、对比双边滤波和其他滤波器的处理效果

分别使用均值滤波器、高斯滤波器、中值滤波器与双边滤波器做对比,得到如下的结果图,可以很明显地看出双值滤波器的处理结果相较于其他滤波器的结果更加真实,模糊度更低

1、均值滤波效果如下:

双边滤波器cv2.bilateralFilter

2、中值滤波效果如下:

双边滤波器cv2.bilateralFilter

3、高斯滤波效果如下:

双边滤波器cv2.bilateralFilter

4、双边滤波效果如下:

双边滤波器cv2.bilateralFilter

二、双边滤波处理椒盐噪声和高斯噪声

1、为图像添加椒盐噪声

代码如下:

def add_sp_noise(image, prob=0.05):
    img_ = image.copy()
    thr = 1-prob
    h, w, _ = image.shape
    for i in range(h):
        for j in range(w):
            rdn = np.random.rand()
            if rdn < prob:
                img_[i][j] = 0
            elif rdn > thr:
                img_[i][j] = 255
    return img_

效果如下:

双边滤波器cv2.bilateralFilter

2、为图像添加高斯噪声

代码如下:

def add_gaussian_noise(image, mean=0, std=0.1):
    img_ = image.copy()/255.0
    noise = np.random.normal(mean, std, image.shape)
    output = np.uint8(np.clip(img_ + noise, 0, 1) * 255)
    return output

效果如下:

双边滤波器cv2.bilateralFilter


3、双边滤波处理效果

据图可知,双边滤波不能较好的消除椒盐噪声,对于高斯噪声表现较好,或许调整函数的参数到一定程度可能会带来较好的结果

处理椒盐噪声效果如下:

双边滤波器cv2.bilateralFilter

处理高斯噪声效果如下:

双边滤波器cv2.bilateralFilter

三、检测双边滤波函数各参数对处理结果的影响

这里只对d, sigmaColor, sigmaSpace这三个参数进行测试

1、对d参数进行调整

固定其他两个参数不变,当增大d时图像变得更加模糊,而减少d则使图像更加清晰,因为d越大考虑的像素点越多,就会造成图像更平滑均匀

增大参数d效果如下:

双边滤波器cv2.bilateralFilter

减小参数d效果如下:

双边滤波器cv2.bilateralFilter

2、对sigmaColor参数进行调整

固定其他两个参数不变,当增大sigmaColor时图像变得更加模糊,减少时图像更加清晰,因为该值越大周围有越多的像素点参与到运算中

增大参数sigmaColor效果如下:

双边滤波器cv2.bilateralFilter

减小参数sigmaColor效果如下:

双边滤波器cv2.bilateralFilter

3、对sigmaSpace参数进行调整

固定其他两个参数不变,当增大和减小sigmaSpace的时候效果差别不明显,但是相较于原图还是存在平滑的效果

增加参数sigmaSpace效果如下:

双边滤波器cv2.bilateralFilter

减小参数sigmaSpace效果如下:

双边滤波器cv2.bilateralFilter文章来源地址https://www.toymoban.com/news/detail-447723.html

到了这里,关于双边滤波器cv2.bilateralFilter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高通滤波器,低通滤波器

    1.高通滤波器是根据像素与邻近像素的亮度差值来提升该像素的亮度。   确实容易看出,第三种效果最好。 2. 使用medianBlur()作为模糊函数,它对去除数字化的视频噪声非常有效。  从BGR色彩空间转灰度色彩空间   使用Laplacian()作为边缘检测函数,它会产生明显的边缘线条 

    2024年02月14日
    浏览(23)
  • 【图像处理:频率域平滑与锐化】理想滤波器,巴特沃思滤波器,高斯滤波器

    本文主要介绍频率域滤波器,此处的频率域是基于傅立叶变换得出。 在一幅图像中, 低频对应图像变化缓慢的部分 ,即图像大致外观和轮廓。 高频部分对应图像变化剧烈的部分即图像细节 。低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频

    2024年02月04日
    浏览(37)
  • 【状态估计】卡尔曼滤波器、扩展卡尔曼滤波器、双卡尔曼滤波器和平方根卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文包括

    2024年02月08日
    浏览(31)
  • 现代信号处理——自适应滤波器(匹配滤波器)

    信号处理的目的是从噪声中提取信号,得到不受干扰影响的真正信号。采用的处理系统称为滤波器。 实时信号处理中,希望滤波器的参数可以根据系统或环境的变化进行更新,称为自适应滤波器。 滤波器的分类: 线性滤波器、非线性滤波器; FIR滤波器、IIR滤波器; 时域滤

    2023年04月27日
    浏览(56)
  • 图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

    一、前言 高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是 使图像得到锐化处理,突出图像的边界 。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质

    2023年04月25日
    浏览(32)
  • 【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 扩展卡尔曼滤波 2.2 线性卡尔曼滤波 

    2024年02月09日
    浏览(30)
  • 图像处理之高通滤波器与低通滤波器

    目录 高频与低频区分: 高通滤波器: 1.傅里叶变换: 低通滤波器: 总结:         在了解图像滤波器之前,先谈一下如何区分图像的高频信息和低频信息,所谓高频就是该像素点与周围像素差异较大,常见于一副图像的边缘细节和噪声等;而低频就是该像素点与周围像素

    2023年04月09日
    浏览(37)
  • 现代信号处理——自适应滤波器(LMS自适应滤波器)

    一、自适应滤波简介 维纳滤波存在的问题: 适用于平稳随机信号的最佳滤波,对于非平稳的随机信号,其统计特性(相关函数)是随机的,因此无法估计其相关函数,此时的维纳滤波不适用; 维纳滤波器的参数是固定的,就不可能根据输入信号的变换去自动调整滤波器的参

    2024年02月01日
    浏览(37)
  • 卡尔曼滤波器简介——α−β−γ滤波器

            现在我们已经准备好了第一个简单的例子。在此示例中,我们估计静态系统的状态。静态系统是在合理的时间段内不会更改其状态的系统。例如,静态系统可以是一座塔,而状态将是它的高度。         在此示例中,我们估计金条的重量。我们有无偏尺度,即

    2024年02月01日
    浏览(86)
  • FPGA设计FIR滤波器低通滤波器,代码及视频

    名称:FIR滤波器低通滤波器 软件:Quartus 语言:Verilog/VHDL 本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。 代码功能: 设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。 参数设计方法: 使用matlab软件设计滤

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包