圖像均值濾波


一. 均值濾波簡介和原理

        均值濾波,是圖像處理中常用的手段,從頻率域觀點來看均值濾波是一種低通濾波器,高頻信號將會去掉。均值濾波可以幫助消除圖像尖銳噪聲,實現圖像平滑,模糊等功能。理想的均值濾波是用每個像素和它周圍像素計算出來的平均值替換圖像中每個像素。

        以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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM