均值滤波 中值滤波 高斯平滑滤波

均值滤波是一种线性滤波方法,通过计算目标像素周围邻域的平均值来平滑图像,但可能导致图像细节丢失。高斯平滑则是使用高斯权重对邻域像素进行加权平均,适用于消除高斯噪声,保持图像边缘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。


          图像平滑用于去除图像中的噪声。高斯平滑,就是将每个像素的灰度值用其领域的加权平均值代替。该算法简单,能够有效去除高斯噪声。

       高斯平滑模板: 
          图像高斯平滑 - illidan - illidan的博客
//高斯平滑  中值滤波  均值滤波    
#include<cv.h>    
#include<highgui.h>  

// 高斯平滑  
// 1. pImageData   图像数据  
// 2. nWidth       图像宽度  
// 3. nHeight      图像高度  
// 4. nWidthStep   图像行大小 
bool SmoothGauss(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep)
{
    int i = 0;
    int j = 0;
    int nValue = 0;
    unsigned char *pLine[3] = { NULL, NULL, NULL };
    int nTemplate[9] =
    {
        1, 2, 1,
        2, 4, 2,
        1, 2, 1
    };
    for (j = 1; j < nHeight - 1; j++)
    {
        pLine[0] = pImageData + nWidthStep * (j - 1);  //对应3行3列高斯模板矩阵中的 3行列。
        pLine[1] = pImageData + nWidthStep * j;
        pLine[2] = pImageData + nWidthStep * (j + 1);
        for (i = 1; i < nWidth - 1; i++)
        {
            nValue =
                (pLine[0][i - 1] * nTemplate[0] +    //对应3行3列矩阵中的各个点。
                pLine[0][i] * nTemplate[1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值