zoukankan      html  css  js  c++  java
  • 图像均值滤波

    一. 均值滤波简介和原理

            均值滤波,是图像处理中常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将会去掉。均值滤波可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素计算出来的平均值替换图像中每个像素。

            以3*3均值滤波器为例,均值滤波器算法原理如下图:


    P_{5} =  frac{1}{9} * sum_{i=1}^9 P_{i}         ↑

    二. 用均值滤波器对椒盐噪声污染后的图像去噪

            python 源码:

    import cv2
    
    import numpy as np
    
    # mean filter
    
    def mean_filter(img, K_size=3):
    
        H, W, C = img.shape
    
        # zero padding
    
        pad = K_size // 2
    
        out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)
    
        out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)
    
        tmp = out.copy()
    
        # filtering
    
        for y in range(H):
    
            for x in range(W):
    
                for c in range(C):
    
                    out[pad + y, pad + x, c] = np.mean(tmp[y: y + K_size, x: x + K_size, c])
    
        out = out[pad: pad + H, pad: pad + W].astype(np.uint8)
    
        return out
    
    # Read image
    
    img = cv2.imread("../paojie_sp1.jpg")
    
    # Mean Filter
    
    out = mean_filter(img, K_size=5)
    
    # Save result
    
    cv2.imwrite("out.jpg", out)
    
    cv2.imshow("result", out)
    
    cv2.waitKey(0)
    
    cv2.destroyAllWindows()

    三. 实验结果:


    原图  ↑

    模板大小5*5,均值滤波后的图像 ↑

            可以看到,均值滤波后,图像中噪声虽然有所减弱,但是图像变模糊了。因为均值滤波器过滤掉了图像中的高频分量,所以图像的边缘都变模糊了。(去除一定量椒盐噪声,可以考虑使用中值滤波)


    四. 参考内容:

      https://www.jianshu.com/p/8a507f44d68d

  • 相关阅读:
    rabbitmq 学习6rabbitmq基础
    使用Sqlserver事务发布实现数据同步
    rabbitmq 学习2安装
    window server 2003 下安装squid
    rabbitmq 学习3初试1
    rabbitmq 学习5server管理
    RabbitMQ: high performance messaging solution
    AMQP和RabbitMQ入门
    rabbitmq 学习1AMQP介绍
    [解题报告]11689 Soda Surpler
  • 原文地址:https://www.cnblogs.com/wojianxin/p/12501891.html
Copyright © 2011-2022 走看看