使用不同的低通滤波(LPF)对图像模糊处理,可以去除噪声,其实就是去除图像中的高频成分,高通滤波(HPF)可以增强边缘效果。学习到的函数有:
- cv.Filter2D —— 2D卷积函数
- cv2.blur——均值滤波
- cv2.GaussianBlur——高斯滤波
- cv2.medianBlur——中值滤波
- cv2.bilateralFilter——双边滤波
2D卷积
使用自己定义的卷积核来卷积图像,对图像做模糊处理。OpenCV 提供的函数 cv.fifilter2D() 可以让我们对一幅图像进行卷积操作。
dst=cv.filter2D(src, ddepth, kernel,anchor)
- scr:待处理图像
- ddepth:目标图像深度,如果值为-1则表示目标图像输出为与原图像深度相同
- kernel:自定义的卷积核,float32型浮点矩阵
- anchor:内核的锚点,指示内核中过滤点的相对位置;锚应位于内核中;默认值(-1,-1)表示锚位于内核中心。
img=cv2.imread('logo.jpg')
kernel=np.ones((5,5),np.float32)/25#定义一个5x5的平均滤波器
f=cv2.filter2D(img,-1,kernel)#值为-1则表示目标图像输出为与原图像深度相同