精华内容
下载资源
问答
  • 高斯滤波

    2019-07-30 10:27:27
    1、滤波什么的? 消除图像在数字化过程中产生或者混入的噪声噪声定义:https://baike.baidu.com/item/图像...想用高斯滤波去除原始图像的噪声,我们的工具是什么?就是高斯核,那么我们必须构造一个高斯核 如...

    1、滤波干什么的?

    消除图像在数字化过程中产生或者混入的噪声。噪声定义:https://baike.baidu.com/item/图像噪声/4116468?fr=aladdin

    消除噪声后,就像眼镜脏了擦干净一样,看的清楚;

    2、高斯+滤波??

    高斯就是符合高斯函数的滤波器;

    3、高斯核

    想用高斯滤波去除原始图像的噪声,我们的工具是什么?就是高斯核,那么我们必须构造一个高斯核

    如下图,构造一个3x3大小的模板,对一个坐标例如(0,0)带入到二维高斯函数中得到0.707355,所有的点都通过高斯函数变成一个3x3的模板,接下来对模板中所有的9个值相加等于0.4787147,模板中每个值除去0.4787147就得到新的模板

    新的模板就是我们所要用的工具;

    4、高斯滤波计算

    参考:https://www.jianshu.com/p/73e6ccbd8f3f

    如下,第一个图是原图像素点,第二个图是高斯核跟原图进行点乘,第三个图是计算后的结果,也就是高斯滤波利用高斯核在原图上作用后的像素点;

    5、代码走起(c++)

    高斯滤波函数有兴趣可以自己看看,说实话这个效果图,我感觉还是有的,自己看看吧!

    展开全文
  • 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到...

    1 什么是高斯滤波?

    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

    2 基本原理

    数值图像处理中,高斯滤波主要可以使用两种方法实现。一种是离散化窗口滑窗卷积,另一种方法是通过傅里叶变化。最常见的就是滑窗实现,只有当离散化的窗口非常大,用滑窗计算量非常搭的情况下,可能会考虑基于傅里叶变化的实现方法。所以本文将主要介绍滑窗实现的卷积。

    离散化窗口划船卷积时主要利用的是高斯核,高斯核的大小为奇数,因为高斯卷积会在其覆盖区域的中心输出结果。常用的高斯模板有如下几种形式:

    高斯模板是通过高斯函数计算出来的,公式如下:

    以3 × 3的高斯滤波器模板为例,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向上)。

    这样,将各个位置的坐标带入到高斯函数G中,得到的每个值按照位置排列,就得到了模板。

    这样输出的模板有两种形式:

    ① 小数类型:直接计算得到的值,没有经过任何处理。

    ② 整数类型:将得到的值进行归一化处理,即将坐上叫的值归一化为1,其他每个系数都除以左上角的系数,然后取整。在使用整数模板时,则需要在模板的前面加一个系数,该系数为模板系数之和的倒数。

    例如:生成高斯核为3 × 3,σ = 0.8的模板

    再经过四舍五入和添加系数得到最终结果:

    从以上描述中我们可以看出,高斯滤波模板中最重要的参数就是高斯分布的标准差σ。它代表着数据的离散程度,如果σ较小,那么生成的模板中心系数越大,而周围的系数越小,这样对图像的平滑效果就不是很明显;相反,σ较大时,则生成的模板的各个系数相差就不是很大,比较类似于均值模板,对图像的平滑效果就比较明显。通过下面的一维高斯分布图也可验证上述观点。

    3 GaussianBlur函数API

    void GaussianBlur(InputArray src,

    OutputArray dst,

    Size ksize,

    double sigmaX,

    double sigmaY=0,

    int borderType=BORDER_DEFAULT);

    src,输入图像,即源图像,填Mat类的对象即可。它可以是单独的任意通道数的图片,

    但需要注意,图片深度应该为CV_8U,CV_16U, CV_16S, CV_32F 以及 CV_64F之一。

    dst,即目标图像,需要和源图片有一样的尺寸和类型。比如可以用Mat::Clone,以源图片为模板,

    来初始化得到如假包换的目标图。

    ksize,高斯内核的大小。其中ksize.width和ksize.height可以不同,但他们都必须为正数和奇数

    (并不能理解)。或者,它们可以是零的,它们都是由sigma计算而来。

    sigmaX,表示高斯核函数在X方向的的标准偏差。

    sigmaY,表示高斯核函数在Y方向的的标准偏差。若sigmaY为零,就将它设为sigmaX,

    如果sigmaX和sigmaY都是0,那么就由ksize.width和ksize.height计算出来。

    4 C++应用示例

    Created by duyq on 2020/4/7.//

    #include #include

    using namespace std;

    using namespace cv;

    int main()

    {

    cv::namedWindow("Orgin Image", cv::WINDOW_AUTOSIZE);

    cv::namedWindow("Gaussian Blur Image", cv::WINDOW_AUTOSIZE);

    // 读取图像,并用输入的窗口显示输入图像 cv::Mat img = cv::imread("/home/duyq/workspace/cpp/demo/MyCPPDemo/opencv/demo01_base/lena.jpg", -1);

    if (img.empty())

    {

    cout << "Could not load image ..." << endl;

    return -1;

    }

    cv::imshow("Orgin Image", img);

    // 声明输出矩阵 cv::Mat out;

    // 进行平滑操作,可以使用GaussianBlur()、blur()、medianBlur()或bilateralFilter() // 此处共进行了两次模糊操作 cv::GaussianBlur(img, out, cv::Size(5, 5), 3, 3);

    cv::GaussianBlur(out, out, cv::Size(5, 5), 3, 3);

    // 在输出窗口显示输出图像 cv::imshow("Gaussian Blur Image", out);

    // 等待键盘事件 cv::waitKey(0);

    destroyAllWindows();

    return 0;

    }

    5 运行结果

    展开全文
  • 【图像处理】高斯滤波

    千次阅读 2019-10-27 22:18:38
    首先,我们先要了解高斯滤波的原理,以及高斯滤波消除的高斯噪声什么? 噪声,是图像中表现极为突兀的像素点或者像素块,会给图像带来干扰,让图像变得不清楚,或者说影响观察图像的细节。 而高斯噪声,就是噪声...

    高斯滤波

    高斯滤波属于线性平滑滤波的一种,可以消除高斯噪声,广泛应用于图像处理的减噪过程。大家常说高斯滤波是最有用的滤波操作,虽然它用起来效率往往不是最高的。

    首先,我们先要了解高斯滤波的原理,以及高斯滤波消除的高斯噪声是什么?

    噪声,是图像中表现极为突兀的像素点或者像素块,会给图像带来干扰,让图像变得不清楚,或者说影响观察图像的细节。
    而高斯噪声,就是噪声像素的概率密度函数服从高斯分布(正态分布)
    高斯噪声就是它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。

    高斯函数:
    在这里插入图片描述
    注:σ的大小决定了高斯函数的宽度。在这里插入图片描述
    通俗地讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身核邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩膜)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

    高斯核:
      理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。 如下图为一个标准差为1.0的整数值高斯核。
      在这里插入图片描述
    很明显的看出来,上图高斯核矩阵满足二维高斯分布。

    理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。
    高斯滤波的重要两步就是先找到高斯模板然后再进行卷积,模板(mask在查阅中有的地方也称作掩膜或者是高斯核)。所以这个时候需要知道它怎么来?又怎么用?
    举个栗子:
    假定中心点的坐标是(0,0),那么取距离它最近的8个点坐标,为了计算,需要设定σ的值。假定σ=1.5,则模糊半径为1的高斯模板就算如下
    在这里插入图片描述
    这个时候我们我们还要确保这九个点加起来为1(这个是高斯模板的特性),这9个点的权重总和等于0.4787147,因此上面9个值还要分别除以0.4787147,得到最终的高斯模板。
    在这里插入图片描述
    高斯滤波计算
    有了高斯模板,那么高斯滤波的计算便顺风顺水了。
    举个栗子:
    假设现有9个像素点,灰度值(0-255)的高斯滤波计算如下:
    在这里插入图片描述
    将这9个值加起来,就是中心点的高斯滤波的值。
    对所有点重复这个过程,就得到了高斯模糊后的图像。

    高斯滤波步骤
    综上可以总结一下步骤:

    (1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方
    (2)将输入图像的像素值作为权重,乘以相关核
    (3)将上面各步得到的结果相加做为输出
    简单来说就是根据高斯分布得到高斯模板然后做卷积相加的一个过程

    部分转自:https://www.jianshu.com/p/73e6ccbd8f3f

    展开全文
  • 高斯滤波 openCV实现

    千次阅读 2013-03-20 14:49:12
    学会任务分解: task: 1.学会Opencv打开图片 ...高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值

    学会任务分解:

    task:

    1.学会用Opencv打开图片
    2.学会用Opencv做一下高斯滤波,看看这个高斯滤波是什么效果,并学一下高斯滤波的理论
    3.找一个高斯滤波的C语言程序,结合高斯滤波的理论,将这个程序一定吃透

    高斯滤波:

    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
    3*3模板 5*5模板
     

    g(x,y)={f(x-1,y-1)+f(x-1,y+1)+f(x+1,y-1)+f(x+1,y+1)+[f(x-1,y)+f(x,y-1)+f(x+1,y)+f(x,y+1)]*2+f(x,y)*4}/16;
    其中,f(x,y)为图像中(x,y)点的灰度值,g(x,y)为该点经过高斯滤波后的值。

    opencv实现:

    #include "stdafx.h"
    #include "highgui.h"
    #include "cv.h" 
    //高斯滤波函数,在opencv里可以使用cvSmooth  
    void gaussianFilter(uchar* data, int width, int height) 
     {      int i, j, index, sum; 
         int templates[9] = { 1, 2, 1, 
                             2, 4, 2, 
                              1, 2, 1 };//模板的值 
         sum = height * width * sizeof(uchar);//图像所占内存的大小 
         uchar *tmpdata = (uchar*)malloc(sum); 
         memcpy((char*)tmpdata,(char*)data, sum); 
        for(i = 1;i < height - 1;i++) 
         { 
             for(j = 1;j < width - 1;j++) 
            {           
    			 index = sum = 0; 
                 for(int m = i - 1;m < i + 2;m++) 
                 { 
                    for(int n = j - 1; n < j + 2;n++) 
                     { 
                        sum += 
                            tmpdata[m * width + n] * 
                             templates[index++];  //处理 
                    } 
                 } 
                data[i * width + j] = sum / 16; 
    		
            } 
         } 
        free(tmpdata); 
     } 
    
    
    
    void imgOperate( IplImage* image )
    {
        cvNamedWindow( "image-in", CV_WINDOW_AUTOSIZE );
        cvNamedWindow( "image-out", CV_WINDOW_AUTOSIZE);
        cvShowImage( "image-in", image );
    	/*
        IplImage* out = cvCreateImage(
            cvGetSize(image),
            IPL_DEPTH_8U,
            3
        );
    	*/
    	
    	//将色彩图像强制转化为灰度图像
    	IplImage* pGrayImg=NULL; 
    
        pGrayImg=cvCreateImage(cvGetSize(image),8,1);   
    	cvCvtColor(image,pGrayImg,CV_RGB2GRAY);
      //  cvSmooth( image, out, CV_GAUSSIAN, 5,5 );
    
    
       gaussianFilter((unsigned char*)pGrayImg->imageData,pGrayImg->width,pGrayImg->height);
        cvShowImage( "image-out", pGrayImg );
    
        cvReleaseImage( &pGrayImg );
        cvWaitKey( 0 ); 
        cvDestroyWindow("image-in" );
        cvDestroyWindow("image-out" );    
    }
    int main( int argc, char** argv )
    {
      IplImage* img = cvLoadImage("d:\\1.jpg");
      imgOperate( img );
      cvReleaseImage( &img );
      return 0;
    }
    
    
    


     

    效果比较:


     

    展开全文
  • 什么要对图像使用滤波? 图像滤波,即在尽量保留图像细节...中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值该点的一个邻域中各点值的
  • 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到...
  • 高斯噪声 泊松噪声 颗粒噪声 这里不细说、打给就是统计分布来描述不同的噪声。 空间域平滑滤波 操作对象:图像的像素灰度值。 我的理解就是你在转换为灰度图像之后的那个矩阵的每一个点的值。 主要指的是基于图像...
  • 关于高斯滤波的一些理解

    千次阅读 2019-02-18 20:14:28
    (1)但为什么不直接提高边缘检测算法参数中的阈值,而要先用高斯滤波来减少? (2)高斯滤波和边缘检测都是像素卷积计算出来的,为什么不直接将两个合并到一起? 答:边缘检测的算法有很多种,这些算法通常容受...
  • 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到...
  • 影像卷积和滤波运算...高斯函数在图像增强中起到什么作用,麻烦具体点,就比如傅立叶变化在图像增强中可以有去除噪声的作用 主要是平滑图像~~~ 高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别
  • 俗话讲讲卡尔曼滤波与粒子滤波

    万次阅读 多人点赞 2016-07-24 21:34:15
    卡尔曼滤波可以根据一些已知的量来预测未知的量,这些量受到的干扰必须得近似高斯噪声。这个东西可以用来干什么呢?例如我们可以用来预测明天,后天,未来好几天的温度。我们可以在前几天温度计记录下一系列的温度...
  • 什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的...
  • opencv 图图像像滤滤波波(均均值值,方方框框,高高斯斯, 中中值值) ...为什什么么要要使使用用滤波波 消除图像中的噪声成分叫作图像的平滑化或滤波操作信号或图像的能量大部分集中在幅度谱的低频和中频段是很常 见的而在
  • 粒子滤波与卡尔曼滤波的介绍卡尔曼滤波 卡尔曼滤波可以根据一些已知的量来预测未知的量,这些量受到干扰必须得近似高斯噪声。这个东西可以用来干什么呢?例如我们可以用来预测明天,后天,未来好几天的温度。我们...
  • 本节笔记致力于讨论什么样的噪声用什么样的方法来降噪,及找出每种噪声的特点以识别噪声 高斯噪声:概率密度函数(PDF)符合正态分布 瑞利噪声 伽马噪声 指数噪声 均匀噪声 椒盐噪声 周期噪声:图像获取过程中由于...
  • 本节笔记致力于讨论什么样的噪声用什么样的方法来降噪,及找出每种噪声的特点以识别噪声高斯噪声:概率密度函数(PDF)符合正态分布瑞利噪声伽马噪声指数噪声均匀噪声椒盐噪声周期噪声:图像获取过程中由于电力或机电...
  • 2、Canny边缘检测具体流程:高斯滤波:平滑图像,消除噪声 梯度和方向计算:利用Sobel算子计算每个像素点的梯度和方向 非极大值抑制:消除边缘检测带来的杂散相应双阈值:检测真正和潜在的边缘 抑制弱边缘:通过抑制...
  • 这里使用高斯滤波高斯双边滤波进行对比。 使用canny函数进行边缘检测。 canny函数做了什么工作 1.sober算子,对图像进行卷积,算出图像在x,y方向的梯度。 由此可以算出,每一个像素点都会对应一个x方向的梯度...
  • 为啥要滤波?真正的粉丝,就算全身马赛克也能看得...滤波的方式有很多种,根据你用什么滤波器可以得到不同的效果。最容易理解的均值滤波,相对不太困难的高斯滤波可以用力的消除白噪声,计算速度也很快,缺点是图...
  • 目录什么是Canny边缘检测获取图像的边缘 什么是Canny边缘检测 Canny边缘检测是一种使用多级边缘检测算法检测...在实际的图像边缘检测中,我们一般先用高斯滤波去除图像噪声(1),然后计算梯度的幅度与角度两个值(2
  • MOT

    2020-09-13 22:16:50
    1.8贝叶斯滤波回顾 后验密度P表示,为了清晰所见,我们在p下面增加...本来这个预测是一个非线性转换后的数值,但是由于高斯噪声的存在,硬生生变成一个PDF了,而且是高斯的PDF f(x1∣xk−1) f(x_1|x_{k-1}) f(x1​
  • 拉普拉斯边缘检测

    万次阅读 2018-06-22 17:51:26
    拉普拉斯算子公式: 即 卷积核表示为:在计算时我们往往会先对图像进行高斯滤波以消除噪声而此过程可以通过高斯减去原图 * 来进行近似为什么拉普拉斯算子可以代表图像梯度方向的二阶导数? 推导过程还没完全...
  • 3.3.5 当讨论鸡尾酒会问题时说“x1(t)的采样比s1(t)或s2(t)的采样更趋向于高斯分布”是什么含义?是谈论x1(t)的时间采样还是谈论在给定时间x1(t)的所有可能版本? 174 3.3.6 如何测量非高斯性? 177 3.3.7 如何...
  • 选择性滤波≈去除周期性的噪声 5.图像复原与重建 图像增强是主观过程;图像复原是客观过程,拟建立退化模型恢复出原图像。 注:这一点在胃癌CT图像中可以建立退化函数。 噪声类型 在某些特定场景的噪声,确实会呈现...
  • costas_loop代码

    2012-10-08 14:40:33
    % 5楼给的数值应该分别是载波锁相环环路噪声带宽, 锁频环的噪声带宽以及码环的噪声带宽. %通过噪声带宽可以求出环路滤波器的参数,(通常限定在3阶环路以下), 具体方法可以参考书籍: % GPS原理及应用 第一, 二版, ...
  • 1.0.1 为什么要处理图像?.........................................................................................1 1.0.2 什么是一幅图像?..................................................................
  • VTK User's Guide(中文完整版)

    热门讨论 2012-08-01 18:21:06
    4.3 滤波数据---------------------------------------------------------------------------------------29 4.4 控制相机------------------------------------------------------------------------------------...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

高斯噪声用什么滤波