import numpy as np
import cv2
######## 四个不同的滤波器 #########
img = cv2.imread('d:\\model3.bmp',cv2.IMREAD_GRAYSCALE)
#
# 均值滤波
img_mean = cv2.blur(img, (5,5))
# 高斯滤波
img_Gaussian = cv2.GaussianBlur(img,(5,5),0)
# 中值滤波
img_median = cv2.medianBlur(img, 5)
# 双边滤波
img_bilater = cv2.bilateralFilter(img,9,75,75)
#在一幅图像中显示多个子图,类似matlab中的subplot
hstack1 = np.hstack((img_mean,img_Gaussian))
hstack2 = np.hstack((img_median,img_bilater))
vstack = np.vstack((hstack1,hstack2))
cv2.imshow("orin", img)
cv2.imshow("meanBlur(122) gaussianBlur(222) medianBlur(322) bilaterBlur(422)", vstack)
cv2.waitKey(0)

orin.jpg

blur.jpg
网友评论