数字图像处理 三 空间滤波

发布于:2025-02-11 ⋅ 阅读:(114) ⋅ 点赞:(0)

空间滤波是一种图像处理技术,它通过对图像像素及其邻域进行运算,利用均值,高斯,梯度,拉普拉斯等线性滤波和中值,最大最小,双边滤波等非线性滤波改变像素值,实现图像的平滑,锐化,去噪或边缘检测等功能。

1 线性滤波

线性指的是满足叠加和比例不变性

(1)平滑滤波

平滑滤波的滤波核都为正,使得滤波后,图像更平滑,处理思路为积分;

 

滤波核越大 图像越模糊

①均值滤波

边界处理

对边界附近的像素,滤波核的部分可能落在图像区域外

1.常数填充

2.镜像填充(以边界为轴)

为什么要边界处理?

1、 对边界附近的像素,滤波核的部分可能落在图像区域外。

2、若越界直接不作为滤波核: 如果不进行边界处理,不同像素点作为滤波核中心的次数不一样,有些点不会作为滤波核的中心出现

快速均值滤波

//实现积分图像
void integral_image(const uchar *src,int width,int height,int sstride,int *pint,int istride)
{
    int *prow=new int[width];
    memset(prow,0,sizeof(int)*width);
    for(int yi=0;yi<height;++yi,src+=sstride,pint+=istride)
    {
        prow[0]+=src[0];pint[0]=prow[0];
        for(int xi=0;xi<width;++xi)
        {
            prow[xi]+=src[xi];
            pint[xi]=pint[xi-1]+prow[xi];
        }
    }

    delete[]prow;
}

设滤波窗口大小为2w+1,滤波结果为图像O,则:

O(u,v)=\frac{1}{Z}[S(u+w,v+w)+S(u-w-1,v-w-1)-S(u+w,v-w-1)-S(u-w-1,v+w)]

Z=(2w+1)(2w+1)为像素个数,中括号内即为滤波窗口覆盖的像素颜色值之和;

②高斯滤波

以高斯函数为滤波核,注意归一化

行列可分离:核大小为M的二维图像高斯滤波,等价于同样核大小的一维高斯滤波核在行列方向的叠加

σ越大,核应该越大,M=[6σ-1]

σ很大时,则与均值滤波相等

 

标准差\sigma越大,说明分布越分散,更应该考虑大范围的数据,权重更平均,更注重全局;

标准差\sigma越小,说明分布越集中,更应该考虑中心局部的细节。

(2)锐化滤波 

锐化滤波的滤波核中心为正,边缘为负,总和为0,这样滤波的图像后更尖锐,处理思路为差分。

最常见的差分思路就是梯度。

梯度的大小,简约计算,用各方向的和代替

①梯度滤波

梯度滤波主要进行边缘方向和强度的检测,降噪

1'Roberts算子

对角线方向的梯度

2'Prewitt算子

水平垂直方向的算子

3'Sobel算子

Sobel算子在Prewitt算子的基础上加了权重的概念,距离越近的像素点对当前像素点的影响越大。这种加权使得它在边缘检测时能更准确突出边缘轮廓,减少边缘模糊。 

②拉普拉斯滤波

拉普拉斯滤波主要进行边缘和图像突变的检测 降噪

噪声:存在噪声的情况下,一阶导就会失效,无法检测出边界

特点

拉普拉斯锐化滤波器原图+拉普拉斯滤波后的图=锐化图

 

2 非线性滤波

(1)中值滤波

取滤波核中位数代替,用于降噪,消除椒盐噪声

(2)双边滤波

前面提到的高斯滤波,消除噪音的同时,也使得边缘变得模糊;

而双边滤波,降噪的同时,不会使边界不模糊。

因为双边滤波同时考虑空间位置和颜色像素之差,当颜色相近时,权重较大,颜色相差很远,权重很小,所以边缘部分不模糊。


网站公告

今日签到

点亮在社区的每一天
去签到