Python OpenCV _4初級濾波(均值濾波,高斯濾波,中值濾波)
阿新 • • 發佈:2019-02-11
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)
程式碼結果:
歡迎掃碼關注微信公眾號