1. 图像中值滤波
中值滤波是一种统计排序(非线性)的信号处理方法,最初由 J.W.Tukey 于1971年提出,并应用于一维信号处理,后来被应用于二维图像处理领域。
复杂背景下,红外目标进行精确有效的识别和跟踪是一个难题,这种情况下,由于目标与背景的对比度较小、信噪比较低。若直接进行识别和跟踪往往比较困难,因此会对图像信号进行滤波预处理。滤波可以有效的抑制背景噪声,增加目标强度,从而提高图像信噪比。
实时图像处理中,实时预处理包括对图像的各种滤波、直方图统计及均衡、图像增强、灰度变换等,他们共同的特点就是处理的数据量特别大
1.1 中值滤波基本思想
用局部领域像素灰度值排序后的中值代替当前像素的灰度值:
其中:
1.2 中值滤波算例
例如取
从小到大排列,取中间值:198, 200, 201, 202, 205, 206, 207, 208, 212,取205代替中间值202之后的矩阵为:
滤波窗口有多种形状:
1.3 中值滤波实例
2.4 中值滤波特性总结
-
对离散阶跃信号、斜声信号不产生作用,对点状噪声和干扰脉冲有良好的抑制作用。
-
能保持图像边缘,使原始图像不产生模糊。
-
缺点
- 对高斯噪声无能为力
- 计算比较费时
2.5 FPGA 实现图像中值滤波
中值滤波实现的核心就是对数组进行排序,Verilog实现三个数的排序代码如下:
1 | module mid_filter_sort( |
中值滤波是对滤波矩阵进行排序,获取排序矩阵的Verilog代码为:
1 | module filter_3x3( |
项目中值滤波实现:
1 | /* |