低通滤波:均值滤波、中值滤波、高斯滤波、双边滤波
高通滤波:sobel,scharr,Laplacian 

一、低通滤波

任何图像都是由不同尺度的空间信息组成的,假设我们处理一幅图像(fig.1 左),每个输出像元的数值由输入像元周围小邻域内的平均得到。处理后的结果是原始图像的一个模糊版本(fig.1 中),我们将这个结果与原始图像相减,就得到了(fig.1右),它表示原始像元与其周围领域平均值的差值。这样我们称模糊的图像是原始图像的低通滤波(Low Pass,LP),而把它和原始图像的差称为高通滤波(High Pass,HP),数学公式如下:
                                                         image(x,y) = LP(x,y) + HP(x,y)

import cv2
image = cv2.imread(path,-1)
LP = cv2.medianBlur(image,21)  #低通滤波
HP = image - medianblur   #高通滤波
cv2.imwrite(path_LP,LP)    #保存低通滤波
cv2.imwrite(path_HP,HP)  #保存高通滤波

            

fig.1( 左    中    右)

1.1 均值滤波

属于线性滤波,用邻域内取均值的方式替换原图像中的像素值,常可以去除图像上的尖锐噪声,平滑图像。

blur = cv2.blur(image,(2,2))
im_color = cv2.applyColorMap(blur, cv2.COLORMAP_JET)

均值滤波能去除部分椒盐噪声、如若将滤波器窗口增大,会导致边缘信息变得模糊。

1.2 中值滤波

非线性滤波,用邻域内取中值的方式替换原图像中的像素值,

medianblur = cv2.medianBlur(image,3)
im_color = cv2.applyColorMap(medianblur, cv2.COLORMAP_JET)

相对来说,对孤立的噪声点有较好的去除效果,图像边缘同样变得有所模糊.

1.3 高斯滤波

线性滤波,对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。对抑制服从正太分布的噪声非常有效。

gsblur = cv2.GaussianBlur(image,(3,3),0)
im_color = cv2.applyColorMap(gsblur, cv2.COLORMAP_JET)

模糊程度小于均值滤波。

1.4 双边滤波

非线性滤波,结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性。简单来说,结合了高斯滤波和α-截尾均值滤波的特点,一是去除了噪声的,二是很好的保留了边缘特征。 详细信息参考bilateral filter双边滤波器的通俗理解_pan_jinquan的博客-CSDN博客_bilateral filter

bilfilter = cv2.bilateralFilter(image,5,100,100)
im_color = cv2.applyColorMap(bilfilter, cv2.COLORMAP_JET)

以上几种方法来看,双边滤波效果最好(滤波器size选择为5,其他滤波器size选择较小,一般来说size越大,边缘信息丢失越多),在去除噪声时,边缘信息也得到了较好的保留,但随着滤波器尺寸选择的变大,会有淡淡的条纹印记。

图像去噪 + 低通滤波 opencv相关推荐

  1. opencv学习笔记22:傅里叶变换,高通滤波,低通滤波

    傅里叶变换原理 任何连续的周期信号,都可以由一组适当的正弦曲线组合而成. 下列左上图由其他三图构成. 左图经过傅里叶变换,由时域图转换到频域图.相互可逆 相位:不是同时开始的一组余弦函数,在叠加时要体 ...

  2. opencv 四 Mat的基本操作3(高通滤波、低通滤波、对比度调节)

    图像滤波分为高通滤波和低通滤波,高通滤波用于求图形的边缘,低通滤波用于图像去噪.图像模糊化等.这里的频是指变化(相邻像素值的变化),高通滤波是指使变化大也就是图像的边缘)的通过(低通滤波是指使变化小( ...

  3. 《OpenCv视觉之眼》Python图像处理七 :Opencv图像处理之高通滤波和低通滤波原理及构造

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  4. 【OpenCV 例程200篇】83. 频率域低通滤波:印刷文本字符修复

    [OpenCV 例程200篇]83. 频率域低通滤波案例:印刷文本字符修复 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...

  5. OPENCV计算机视觉图像处理频域傅里叶 DFT 变换低通滤波逆变换IDFT

    OpenCV计算机视觉图像频域傅里叶 DFT 变换低通滤波逆变换IDFT 实验室做图像的,经常用到这部分,为了检测屏幕,看过好多博客,试用过许多代码,这个算是我找到的比较好用的,也容易改. 傅里叶变换 ...

  6. 傅里叶变换及低通滤波再反变换(C++opencv)

    对灰度图像做傅里叶变换并进行低通滤波再做傅里叶逆变换. 结果及代码如下: 如上图:mag图表示幅度谱,亮处为低频部分,暗处为高频部分. #include <iostream> #inclu ...

  7. openCV python低通滤波方法汇总

    低通滤波(Low-Pass Filter,简称LPF)可以对图像进行模糊处理,以便去除噪声.究其本质,均为对图像的卷积操作.下面对几种常见的低通滤波函数进行一一讲解,包括:均值滤波cv2.blur() ...

  8. openCV中图像滤波之低通滤波

    一.简介 滤波是信号和图像处理中的一种基本操作,目的是选择性提取图像中某些方面的内容,例如,滤波可以去除图像中的噪声,提取有用的视觉特征,对图像进行重采样等.下面介绍几个有关滤波的重要概念: 一幅图像 ...

  9. c++ opencv数字图像处理:频率域滤波--低通滤波--理想低通滤波

    文章目录 前言 一.理想低通滤波器(ILPF) 二.代码 三.说明 前言 数字图像处理c++ opencv(VS2019 opencv4.53)持续更新 一.理想低通滤波器(ILPF) 通过设置频率半 ...

最新文章

  1. matlab求解复数方程组,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  2. MVC 自定义分面控件
  3. ZendStudio-v6.0注册机
  4. Bootstrap组件_进度条
  5. Spring Boot 扩展点应用之工厂加载机制
  6. JAVA--自制斐波那契数列输出
  7. (自连接)SQL面试题-0608
  8. IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
  9. oracle如何查看实例用户,oracle 如何显示当前执行的用户和操作实例
  10. 大数据分析处理及挖掘技术
  11. 跨栏表格位置跑到了下一页_LaTeX双栏模板插入通栏公式(跨栏插图)
  12. 你知道3D打印SLA的优缺点吗?
  13. 【应用统计学】总体方差的假设检验
  14. java osm_osm 数据格式(openstreet map)与Route | 学步园
  15. 利用一般分配律降低时间复杂度
  16. 淘宝/天猫店铺订单数据导出、销售报表、数据分析
  17. 太原理工大于丹计算机,太原理工大学硕士生将参加中国第30次南极考察
  18. it工种分类_什么是运维?运维工种有哪些
  19. mysql-8.0.28-winx64的安装
  20. php使用addons,addons

热门文章

  1. STM32高级定时器TIM1、TIM15输出PWM
  2. 学习sobel算子对图像求导自我理解
  3. 广州保利世贸博览馆 | 2021中国移动全球合作伙伴大会惊艳亮相
  4. 网络RTK——主辅站误差改正法(MAC)
  5. 《聊聊热点》第二篇:码农界的春联真扎心
  6. 阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏!
  7. smooth L1 loss个人理解
  8. ConfigurableListableBeanFactoryBeanFactory的集大成者
  9. 通信屌丝也谈星际穿越,通信大牛请绕道
  10. 北京CBD将建十余个公交车港湾 缓解交通拥堵