当前位置:   article > 正文

图像处理-图像滤波

图像滤波

1、图像滤波

所谓滤波,顾名思义,能够起到图像过滤的作用,本文简单简单介绍,均值滤波,高斯滤波,中值滤波。当然,还有方框滤波,双边滤波器,可分离滤波等,后期遇到了就再补上。本文实现方法均为opencv提供接口。

2、各滤波特点

2.1 均值滤波

原理:均值滤波采用多次测量取平均值的思想,用每一个像素周围的像素的平均值代替自身,具体大小可以指定。
优点:能够将受到噪声影响的像素,使用该噪声周围的像素值进行修复。
缺点:使得像素之间的差距变小,图像变得模糊。

2.2 高斯滤波

原理:高斯滤波主要用来去除高斯噪声,具体原理比较复杂,这里就不介绍了。

2.3中值滤波

原理:中值滤波将待处理来的像素周围像素从小到大排序,取中值代替该像素。
优点:可以有效去除椒盐噪声
缺点:当卷积核较大时,仍然使得图像变得模糊,而且计算量很大。

3、案例分析

3.1 均值滤波

3.1.1 代码

#均值滤波
    MeanBlur3 = cv.blur(image,(3,3))
    MeanBlur7 = cv.blur(image,(7,7))
    Result1 = cv.hconcat((image,MeanBlur3,MeanBlur7))
    cv.imshow("MeanBlurResult",Result1)
    cv.waitKey()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.1.2 blur

blur(src, Size)
**src:**输入图像
**Size:**卷积核尺寸

3.2 高斯滤波

3.2.1 代码

#高斯滤波
    GaussBlur3 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
    GaussBlur7 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
    Result3 = cv.hconcat((image,GaussBlur3,GaussBlur7))
    cv.imshow("GaussBlurResult",Result3)
    cv.waitKey()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.2.2 GaussianBlur

GaussianBlur(src, Size, sigmaX,sigmaY)
src:输入图像
Size:卷积核大小
sigmaX:X轴方向标准差大小
sigmaY:Y轴方向标准差大小

3.3 中值滤波

3.3.1 代码

#中值滤波
    MedianBlur3 = cv.medianBlur(image,3)
    MedianBlur7 = cv.medianBlur(image,3)
    Result2 = cv. hconcat((image,MedianBlur3,MedianBlur7))
    cv.imshow("MedianBlurResult",Result2)
    cv.waitKey()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.3.2 medianBlur

medianBlur(src,size)
src:输入图像
size:卷积核大小

3.4 完整代码

def MyBlur(image):
    #均值滤波
    MeanBlur3 = cv.blur(image,(3,3))
    MeanBlur7 = cv.blur(image,(7,7))
    Result1 = cv.hconcat((image,MeanBlur3,MeanBlur7))
    cv.imshow("MeanBlurResult",Result1)
    cv.waitKey()
	
	#高斯滤波
    GaussBlur3 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
    GaussBlur7 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
    Result3 = cv.hconcat((image,GaussBlur3,GaussBlur7))
    cv.imshow("GaussBlurResult",Result3)
    cv.waitKey()
    
    #中值滤波
    MedianBlur3 = cv.medianBlur(image,3)
    MedianBlur7 = cv.medianBlur(image,3)
    Result2 = cv. hconcat((image,MedianBlur3,MedianBlur7))
    cv.imshow("MedianBlurResult",Result2)
    cv.waitKey()

    

    return;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

4、效果展示

4.1 均值滤波

在这里插入图片描述

4.2 高斯滤波

在这里插入图片描述

4.3 中值滤波

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/642160
推荐阅读
相关标签
  

闽ICP备14008679号