以下内容摘自OpenCV2计算机视觉编程手册
引言
图像滤波是图像处理的一个基本操作,本章介绍几种常用的滤波器和他们的用途。
图像的频率:不同的图像之间的颜色或者灰度分布不同,我们是从分布的角度来看的,如果我们从灰度的变化角度来看,有些图像的灰度变化缓慢,比如一片蓝色的天空,而有些图像灰度变化迅速,比如有很多物品的热闹场景,因此,图像中像素的变化频率构成了另一种描述图像的方式,低频对于图像变化缓慢,高频对应强度变化迅速,滤波的操作就是针对图像某一频段进行操作的。
使用低通滤波器模糊图像
- 目的:使用低通滤波器能够降低图像变化的幅度,即滤除高频成分。
- 函数:cv::blur(…)或cv::GaussianBlur(…)
- 原理:将每个像素替换为相邻矩形内像素的平均值。
这类滤波器被称为箱式滤波器,滤波过程是:给定一个核(矩阵),矩阵的元素是权重,核沿着图像的每一个像素移动,该像素与矩阵的中心元素对齐,然后把矩阵每个权重和它覆盖的像素值相乘,最后相加,这一个过程也就是卷积的过程。
GaussianBlur()函数的核是一个高斯核,权重由一维高斯函数计算得到。
如果想要在图像中应用二维高斯滤波,可以先对行应用一维高斯滤波,再对列应用一维高斯滤波。
使用中值滤波器去除椒盐噪声
- 目的:去除图像中的椒盐噪声(分散的雪花点),也会去除图像中的一些纹理。
- 函数:medianBlur()
- 原理:使用每