图像滤波 滤波是信号和图像处理的基础任务之一。它选择性的提取图像的某些方面,认为这些方面在给定应用的上下文中能传递重要信息。
滤波能够取出图像中的噪声,提取感兴趣的可视化特征,允许图像重采样等。滤波能够信号与系统理论中找到根源。
我们会展示和滤波相关的重要概念,展示在图像处理应用中滤波器是如何使用的。首先,简单介绍频域分析的概念。
我们观察一个图像时,能够看出不同灰度或色彩是如何在图像中分布的。图像之间的差异在于不同灰度级的分布。但是还存在另一个观察角度,这种情况下图像也能够被分析。
我们能够看到图像中灰度级的波动。一些图像包含大面积的几乎常量密度,然而其他图像中灰度级密度会快速变化。 因此,观察这些波动的频率成了另一种特征化图像的方法。
这个观察角度被称为频域。而通过观察灰度级分布的特征化图像方法被称为空间域。
概念:
低频:灰度级密度变化缓慢
高频:灰度级密度快速变化
二维图像:水平方向频率和垂直方向频率
频域分析框架内,滤波器指这样一种操作,它放大图像的一部分频域带宽,同时衰减其他图像频率带宽。
低通滤波器:cv::blur(image,result, cv::Size(5,5));
高斯低通滤波:cv::GaussianBlur(image, result, cv:;Size(5,5), 1.5)
通过低通滤波后输出图像可以看出,低通滤波器的最终效果是模糊或平滑了图像。这并不让人惊讶,因为滤波器衰减了与物体边沿快速变化相关的高频分量。
用途:比如图像减小尺寸,需要去除细节内容,去掉高频分量。即cv::pyrDown(image, reducedImage)的作用。同理pyrUp
用于创建图像金字塔。
上层图像为下层的一半。如果想从图像中检测出物体,检测首先在金字塔最上层图像上应用,定位感兴趣的物体。然后通过移动匹配下层图像来精细化搜索。
低通滤波器 线性滤波。kernel or mask.
中值滤波器 非线性滤波。中值滤波用于焦盐噪声处理。cv::mediaBlur(image, result, 5)
高通滤波:sobel算子和laplacian算子。
直接滤波检测边缘 cv::Sobel(image, sobelX, CV_8U, 1, 0, 3, 0.4, 128);
计算图像拉普拉斯变换 边缘检测