1. 程式人生 > >Python OpenCV _4初級濾波(均值濾波,高斯濾波,中值濾波)

Python OpenCV _4初級濾波(均值濾波,高斯濾波,中值濾波)

Python OpenCV這個初級影象處理系列是參考他人的文章寫的,有些地方做了一些改動,沒有太多理論,側重程式碼實現,主要目的是將這些基本操作程式碼系統地梳理一遍,也是為了以後能快速查詢。

理論就不說了,直接上程式碼和效果圖

原圖

一,均值濾波

程式碼:

# coding=utf-8
import cv2

img = cv2.imread("D:/lena.jpg", 0)
result = cv2.blur(img, (5, 5))

cv2.imshow("Origin", img)
cv2.imshow("Blur", result)

cv2.waitKey(0)
cv2.destroyAllWindows()

程式碼結果:

二,高斯濾波

程式碼:

# coding=utf-8
import cv2

img = cv2.imread("D:/lena.jpg", 0)
gaussianResult = cv2.GaussianBlur(img,(5,5),1.5)

cv2.imshow("Origin", img)
cv2.imshow("GaussianBlur", gaussianResult)

cv2.waitKey(0)
cv2.destroyAllWindows()

程式碼結果:

三,中值濾波

程式碼:

# coding=utf-8
import cv2
import numpy as np

#加入椒鹽噪聲
def salt(img, n):
    for k in range(n):
        i = int(np.random.random() * img.shape[1]);
        j = int(np.random.random() * img.shape[0]);
        if img.ndim == 2:
            img[j, i] = 255
        elif img.ndim == 3:
            img[j, i, 0] = 255
            img[j, i, 1] = 255
            img[j, i, 2] = 255
    return img


img = cv2.imread("D:/lena.jpg", 0)
result = salt(img, 500) #加入椒鹽噪聲
median = cv2.medianBlur(result, 5)

cv2.imshow("Salt", result)
cv2.imshow("Median", median)

cv2.waitKey(0)

程式碼結果:

歡迎掃碼關注微信公眾號