高斯模糊

一、高斯模糊的概念
高斯模糊,也叫高斯平滑,英文为:Gaussian Blur,是图像处理中常用的一种技术,主要用来降低图像的噪声和减少图像的细节。高斯模糊在许多图像处理软件中也得到了广泛的应用。

二、高斯模糊的原理
1、模糊在图像中的理解
模糊在图像中的意思可理解为:中心像素的像素值为由周围像素的像素值的和的平均值。如图:
这里写图片描述
第一幅图为原始图像,其中心像素的像素值为2,第二幅图为中心像素进行模糊后的图像,其像素值为周围像素值的和的平均值。
图像模糊在数值上,这是一种”平滑化”。在图形上,就相当于产生”模糊”效果,”中心点”失去细节。高斯模糊会减少图像的高频信息,因此是一个低通滤波器。
2、图像模糊后的效果
下图的图像左半部分为原始图像,右半部分为模糊后的图像。
这里写图片描述
下图分别是原图、模糊半径3像素、模糊半径10像素的效果。模糊半径越大,图像就越模糊。从数值角度看,就是数值越平滑。从下图中可以看出,计算平均值时,取值范围越大,即模糊半径越大,模糊效果越强烈。
这里写图片描述
3、高斯模糊
既然每个点都要取周边像素的平均值,那么就涉及到了权重分配的问题。如果使用简单平均,显然不是很合理,因为图像都是连续的,越靠近的点关系越密切,越远离的点关系越疏远。因此,加权平均更合理,距离越近的点权重越大,距离越远的点权重越小。而高斯模糊就是用正态分布来分配周围像素的权重。在图形上,正态分布是一种钟形曲线,越接近中心,取值越大,越远离中心,取值越小。计算平均值的时候,我们只需要将中心像素作为原点,其他点按照其在正态曲线上的位置,分配权重,就可以得到一个加权平均值。一维正态分布图像如下图所示,由于图像都是二维的,所以我们需要二维的正态分布。
这里写图片描述
一维正态分布的密度函数为:
这里写图片描述
其中,μ是x的均值,σ是x的方差。中心点像素在原点位置,因此μ=0,因此,图像的一维正态分布变为:
这里写图片描述
二维正态分布概率密度公式如下:
这里写图片描述
图像的二维正态分布的密度函数为:
这里写图片描述
假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标及当σ=1.5时周围像素各权重如下:
这里写图片描述
由于这9个像素点的权重总和等于0.4787147,因此需要进行归一化操作,每个点的权重计算公式为:单个像素高斯权重/所有像素高斯权重的和,得到像素最终的权重。
有了权重矩阵就可计算高斯模糊。假设现有9个像素点,灰度值(0-255)如下:
这里写图片描述
每个点乘以自己的权重值:
这里写图片描述
将这9个值加起来,就是中心点的高斯模糊的值。
这里写图片描述
对所有点重复这个过程,就得到了高斯模糊后的图像。如果原图是彩色图片,可以对RGB三个通道分别做高斯模糊。

三、高斯模糊的代码及实验结果
在Opencv下使用高斯模糊处理图像

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc,char* argv[])
{
    Mat image = imread("lena.bmp");
    if (image.empty())
    {
        cerr << "Fail in loading image " << endl;
    }
    Mat gaussianImage;
    GaussianBlur(image, gaussianImage, Size(9,9), 100.0);
    imshow("src",image);
    imshow("GaussianBlur", gaussianImage);
    waitKey(0);
}

下图分别是高斯核大小为99,sigma分别为1.0,10.0,100.0下的实验结果。可以看出,sigma越大,图像越模糊。
这里写图片描述
下图为sigma=10.0,高斯核大小分别为33,99,2727下的实验结果。可以看出,尺寸越大,图像越模糊。

这里写图片描述
参考资料:
1、百度百科:http://baike.baidu.com/link?url=yNgq8w79SYbS7OT4DQ5zhiwVg-7LyBWUm2vKnbg8KDD0FcPcb2Ok3AFNBvoiubzbrgrNUlk0tYKcRVlpykeI9q
2、阮一峰的博客:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html
3、维基百科:https://en.wikipedia.org/wiki/Gaussian_blur
4、Opencv

  • 19
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值