1. 程式人生 > >python+opencv均值濾波,高斯濾波,中值濾波,雙邊濾波

python+opencv均值濾波,高斯濾波,中值濾波,雙邊濾波

影象濾波基本演算法
濾波演算法主要包括均值濾波,高斯濾波,中值濾波和雙邊濾波。
每種演算法都有自己的特點,建議從原理上了解每種演算法的優缺點。上圖給出簡潔版的總結。
以下是程式碼:

import numpy as np
import cv2
import matplotlib.pyplot as plt
########     四個不同的濾波器    #########
img = cv2.imread('cat.jpg')

# 均值濾波
img_mean = cv2.blur(img, (5,5))

# 高斯濾波
img_Guassian = cv2.GaussianBlur(img,(5,5),0
) # 中值濾波 img_median = cv2.medianBlur(img, 5) # 雙邊濾波 img_bilater = cv2.bilateralFilter(img,9,75,75) # 展示不同的圖片 titles = ['srcImg','mean', 'Gaussian', 'median', 'bilateral'] imgs = [img, img_mean, img_Guassian, img_median, img_bilater] for i in range(5): plt.subplot(2,3,i+1)#注意,這和matlab中類似,沒有0,陣列下標從1開始
plt.imshow(imgs[i]) plt.title(titles[i]) plt.show()

執行結果展示:
結果