Python+OpenCV图像处理:均值滤波、中值滤波、高斯滤波以及图像堆叠显示

import cv2 
#图像平滑处理
img = cv2.imread('lenaNoise.png')
#图像的显示
cv2.imshow('image',img)
#等待时间,毫秒,0表示任意键终止
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:图中白点为噪声

Python+OpenCV图像处理:均值滤波、中值滤波、高斯滤波以及图像堆叠显示_第1张图片

均值滤波:

#均值滤波
#简单的平均卷积操作
blur = cv2.blur(img, (3, 3))#取3*3的矩阵 一般取奇数矩阵

cv2.imshow('blur',blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:

Python+OpenCV图像处理:均值滤波、中值滤波、高斯滤波以及图像堆叠显示_第2张图片

中值滤波:

中值滤波主要去除椒盐噪声和斑点噪声

#中值滤波
#相当于用中值代替
median = cv2.medianBlur(img, 5)

cv2.imshow('median',median)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:

Python+OpenCV图像处理:均值滤波、中值滤波、高斯滤波以及图像堆叠显示_第3张图片 

 高斯滤波:

#高斯滤波
#高斯模糊的卷积核里的数值是满足高斯分布
aussian = cv2.GaussianBlur(img, (5, 5), 1)

cv2.imshow('aussian',aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:

Python+OpenCV图像处理:均值滤波、中值滤波、高斯滤波以及图像堆叠显示_第4张图片

 图像堆叠显示:

np.vstack():在竖直方向上堆叠

np.hstack():在水平方向上平铺

import numpy as np
#同时展示
res = np.hstack((blur, aussian, median))
cv2.imshow('blur&aussian&median',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:

 

你可能感兴趣的:(Python,opencv,python,计算机视觉)