1.均值滤波
主要优点:算法简单,计算速度快。
缺点:降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。
2.中值滤波
优点:对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。
缺点:对点、线等细节较多的图像却不太合适。
3.自定义滤波
可自定义卷积核,针对具体问题作出选择
代码实现:
import cv2
import numpy as np
#图像滤波(用于降低图像噪声)
img = cv2.imread('cat.jpg')
cv2.imshow('img',img)
#1.均值滤波
mean = cv2.blur(img,(5,5))
cv2.imshow('mean',mean)
#2.中值滤波
median = cv2.medianBlur(img,5)
cv2.imshow('median',median)
#3.自定义滤波(自定义卷积核)
#卷积核
kernel1 = np.ones([5,5],np.float32)/25
kenerl2 = np.array([[1,2,3],[-1,-2,-3],[1,-1,1]],np.float32)
own1 = cv2.filter2D(img,-1,kernel=kernel1)
own2 = cv2.filter2D(img,-1,kernel=kenerl2)
cv2.imshow('own1',own1)
cv2.imshow('own2',own2)
cv2.waitKey()
运行结果: