图像处理--空域滤波增强(原理)

一、均值滤波

        线性滤波算法,采用的主要是邻域平均法。基本思想是使用几个像素灰度的某种平均值来代替一个原来像素的灰度值。可以新建一个M×N的窗口以f(x,y)为中心,这个窗口S就是f(x,y)的邻域。假设新的新的像素灰度值为g(x,y),则计算公式为

g(x,y)=\frac{1}{M\times N}\sum _{(x,j)\in S}f(i,j)

        1.1 简单平均法

        就是使用窗口内的所有像素灰度值相加求均值后来代替原来的灰度值。

        其实就是每一个像素的权值为1的滑动窗口。

        1.2 加权平均法

        就是在窗口中加入某个权值进行加权计算。因为从欧几里得距离,中心点的上下左右的灰度值距离比对角上的其实是要更近的。所以我们可以合理的认为离得近的灰度值越靠近,所以就赋予不同的权值。

        之后对 g(x,y)的计算和上面的额简单平均法是一样的。

        这两种滤波算法对于被噪点类型的噪声污染(椒盐噪声)的图像处理事比较有效的,因为这种突兀的噪点在这种方式的滤波下是会被平均掉、平滑掉。但是对于高斯噪声这种非脉冲类型的噪声效果不明显,甚至会降低图像的清晰度。

二、中值滤波

        中值滤波属于一种非线性的滤波。其基本原理是,将模板内像素按照像素值的大小进行排序,生成单调上升或者下降的序列,然后利用该序列中间位置的像素值来代替被求位置的数值,从而消除孤立的像素点。这种方法能够彻底的消除尖锐噪声。这种滤波算法相比于均值滤波,对于椒盐噪声有更好的效果,但是对于高斯滤波效果是差不多的。

        这也很好理解。这两种类型的滤波算法都是利用一些临近选择从而去除一些极端的像素值。对于高斯噪声这种均匀分布的噪声是没有很好的效果的。

三、锐化空间滤波

        锐化处理的目的是突出灰度过度的部分。在图像中,物体与背景连接的地方灰度值是发生跳跃的。数学上,也就是说梯度变化比较大。因此,利用梯度的变化率我们可以很好的描述一个图片中物体的轮廓状态:当梯度变化率比较小的时候,图像中物体的交接不明显;当梯度变化率比较大的时候,物体在图像中就比较突出。

        对于一个连续函数f(x,y),其梯度可以表示为:\triangledown f = [\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}]^{T}。计算他的模值可以使用2范数或者1范数。反正确定模值的方法有很多。

        当确定好了模值,就是如何确定g(x,y)的数值。一般来说是令该点的灰度值为梯度值。亦或者是设置一个阈值,当梯度大于这个阈值的时候做g(x,y) = G[f(x,y)],小于的时候保留原值或者设置为其他预设值的数值。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-09 12:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-09 12:12:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-09 12:12:05       82 阅读
  4. Python语言-面向对象

    2024-05-09 12:12:05       91 阅读

热门阅读

  1. docker部署微服务项目

    2024-05-09 12:12:05       33 阅读
  2. 前端每日一题day1

    2024-05-09 12:12:05       33 阅读
  3. 轻型钢结构工程设计专项资质办理周期

    2024-05-09 12:12:05       29 阅读
  4. FFmpeg学习记录(三)—— ffmpeg编解码实战

    2024-05-09 12:12:05       28 阅读