图像处理(六)滤波降噪

图像滤波分为均值滤波、高斯滤波、中值滤波、双边滤波,其中中值滤波对椒盐噪声有奇效

均值滤波:cv2.blur(img,元祖:卷积核大小) 对于椒盐噪声有效
高斯滤波:cv2.GaussianBlur(img,元祖:卷积核大小,标准差:越小平滑效果越好,低频,反之高频) 对于高斯噪声有效
中值滤波:cv2.medianBlur(img,核的大小) 对椒盐噪声有奇效
双边滤波:cv2.bilateralFilter(img,核的大小,参数越大临近像素将会在越远的地方mix,参数越大那些颜色足够相近的的颜色的影响越大) 滤波的同时能保留边缘信息

import numpy as np
import cv2
#import matplotlib.pyplot as plt
import random

path = r'../test.jpg'
image = cv2.imread(path,0)
hight,width = image.shape

for i in range(20000):
	h = random.randint(0,hight-1)
	w = random.randint(0,width-1)
	image[h,w] = 255

img_mean = cv2.blur(image,(9,9))
img_gauss = cv2.GaussianBlur(image,(9,9),0)
img_median = cv2.medianBlur(image,5)
img_bilater = cv2.bilateralFilter(image,9,175,75)

cv2.imshow('test',image)
cv2.imshow('mean',img_mean)
cv2.imshow('gauss',img_gauss)
#中值滤波效果极佳
cv2.imshow('median',img_median)
cv2.imshow('bilater',img_bilater)

cv2.imwrite('median.jpg',img_median)
cv2.waitKey(0)
cv2.destroyWindows()

对于加入20000个噪声的图片进行中值滤波后的图像如下:图像处理(六)滤波降噪_第1张图片
效果奇佳!!!

你可能感兴趣的:(图像处理)