从opencv-python入门opencv--图像处理之图像滤波
一、文章介绍
本文主要介绍经典的图像滤波器,包括均值滤波、中值滤波、高斯滤波和双边滤波。
涉及的opencv-python函数有cv.filter2D()、 cv.boxFilter()、cv.GaussianBlur()、cv.blur()和cv.bilateralFilter等。
opencv中各个滤波器效果如下:
二、滤波器原理简述
在百度百科中,图像滤波的定义如下:
图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
跟一维滤波相同,图像也可以设计低通滤波器、高通滤波器进行边缘查找以及噪声消除等。使用的滤波参数为二维的卷积核。
图像处理中,常见的滤波器有均值滤波、中值滤波和高斯滤波等。
在图像中,低频的部分是连续的平滑结构,高频部分是边缘等突兀的细节。使用均值、中值、高斯滤波主要是为了去除噪声,噪声属于高频部分,因此,这些滤波器本质上属于低通滤波器。而如果我们想要得到图像的边缘,使用一些边缘梯度算子,如果sobel算子、拉普拉斯算子等,这些本质上属于高通滤波器。
卷积原理:
使用一个矩阵(假设为