通常,图像处理软件将提供模糊滤镜以使图像模糊。

有许多算法可以实现模糊,其中一种称为高斯模糊算法。它利用高斯分布来处理图像。

本文是介绍高斯模糊算法,你会发现这是一个简单的算法。实际上,它是一种可以在许多情况下使用的数据平滑。

1.高斯模糊理论

所谓的模糊可以理解为将像素作为其周围像素的平均值。

在上图中,2是中心点,周围点是1。

中心点将取其周围点的平均值,它将为1.从价值角度来看,它是平滑的。在图形上,它是模糊效果。中心点将失去其细节。

显然,如果值范围非常大,则模糊效果非常强。

以上是原始图像,3像素模糊半径和10像素模糊半径。模糊半径越大,图像越模糊。

现在的问题是,如果每个点都能获得周围点的平均值,那么我们应该如何分配权重?

如果我们只使用简单的平均值,这是不合理的,因为图像是连续的,距离越近点,点之间的关系越接近。因此加权平均值比简单平均值更合理,距离点越近,权重越大。

2.正态分布的权重

正态分布是可接受的权重分布模型。

在图形上,正态分布是钟形曲线,越接近中心,值越大。

3.高斯函数

上面的正态分布是一维的,图是二维的。我们需要二维正态分布。

正态分布的密度函数称为高斯函数。一维格式是:

这里μ是x的平均值,因为中心点是计算平均值时的原点,所以μ等于0。

基于一维函数,我们可以推导出二维高斯函数。

使用此功能,我们可以计算每个点的重量。

4.重量矩阵

假设中心点的坐标为(0,0),那么最接近它的8个点的坐标为:

要计算权重矩阵,我们需要设置σ的值,σ= 1.5,然后模糊半径1的权重矩阵是

这9个点的权重之和为0.4787147。如果仅计算这9个点的加权平均值,则总和应为1,因此上述9个值应除以0.4787147。

5.计算高斯模糊

利用权重矩阵,我们可以计算出高斯模糊的值。

假设我们现在有0像素,灰度值(0-255)

每个点乘以其权重值,  将这9个值加起来,我们将得到中心点的高斯模糊值。

对所有其他点重复此过程,然后我们将在高斯模糊后得到图形。

6.边界点的过程

如果一个点在边界,没有足够的点,我们该怎么办?

一种解决方案是将所有现有点复制到相应位置以形成新矩阵。

转载于:https://www.cnblogs.com/jinhengyu/p/10257870.html

什么是高斯模糊算法?相关推荐

  1. 基于正态分布的图片高斯模糊算法

    前言: 先来看看下面这张图,我把一张图进行了二等份了,左边是经过高斯模糊过的,右边是原图. 图-1 高斯模糊效果对比图 概述: 高斯模糊也叫做高斯平滑,是一种图像平滑处理的技术.高斯模糊算法的原理是选 ...

  2. 高斯平滑算法 c语言,高斯模糊算法(gaussian)

    项目上对图像处理需要用到点高斯算法,网上找到一篇对原理及部分问题分析讲解的还不错的文章,分享一下,后付自己的一段代码 - 理论 - 高斯分布函数可表示为一个一维的函数G(x) 或者一个二维的函数G(x ...

  3. 高斯模糊java代码_Java实现高斯模糊算法处理图像

    高斯模糊(英语:Gaussian Blur),也叫高斯平滑,是在Adobe Photoshop.GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果,通常用它来减少图像噪声以及降低细节层次 ...

  4. 高斯模糊java代码_Java 实现高斯模糊算法

    接上篇文章<高斯模糊算法的原理>,本文我们借助 java 来实现高斯模糊算法,并使用高斯模糊算法处理实际图片. 高斯模糊就是图像和高斯函数的卷积.等价于傅里叶变换后乘上高斯函数再逆变换回来 ...

  5. 高斯模糊java代码_简单的java高斯模糊算法

    importjava.awt.Color;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException ...

  6. OpenCVSharp入门教程 基础篇⑤——GaussianBlur高斯模糊算法

    文章目录 一.前文 二.GaussianBlur高斯模糊算法流程 三.界面布局 四.功能实现 4.1 打开图片 4.2 GaussianBlur高斯模糊-源码 4.3 GaussianBlur高斯模糊 ...

  7. Android NDK图片模糊处理之高斯模糊算法

    效果图: 参考了c++的高斯模糊的算法 高斯模糊的C++实现(Gaussian Blur),改成了Java版本的和ndk版本的,对比了下效果,Java的效率比较低,用时几十秒,ndk才不到1秒,毕竟安 ...

  8. c语言高斯模糊源码,C++实现纯高斯模糊算法处理灰度图片

    实现功能: C++语言实现纯高斯模糊处理灰度图像,不受图片格式限制 算法实现: /// /// 程序功能:c语言实现纯高斯模糊处理灰度图像 /// 系统win7,VS2010开发环境,编程语言C++, ...

  9. canvas高斯模糊算法

    对于模糊图片这个效果的实现,其实css3中的filter属性也能够实现,但是这个属性的兼容性不是很好,所以我们通常不用这种方法实现,而使用canvas配合JS实现. <span style=&q ...

最新文章

  1. 树莓派centos安装的基本配置
  2. 如何安装使用PHP MyAdmin
  3. js获取当前日期方法
  4. mysql查看服务器版本sql_云服务器Windows系统查看mysql版本
  5. Kali安装虚拟机遇到的问题
  6. java Calendar的学习分享
  7. 通过谷歌浏览器,找到页面某个事件属于哪个js文件
  8. 电子计算机及其部件,2021年电子计算机及其部件行业营销部门表格模板汇总.docx...
  9. 常用身份证识别 OCR 技术 手机拍照识别身份证
  10. Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
  11. aho-corasick php,基于 Aho-Corasick 算法实现中文全分词
  12. 论文阅读:SCENE TRANSFORMER: A UNIFIED ARCHITECTUREFOR PREDICTING MULTIPLE AGENT TRAJECTORIES
  13. 五分钟认清三款主流 Java Virtual Machine丨HotSpot、JRockit、J9
  14. R语言使用epiDisplay包的summ函数计算向量数据在不同分组下的描述性统计汇总信息并可视化有序点图(名称、有效值个数、均值、中位数、标准差、最大值、最小值)
  15. 根据股票代码特征分类
  16. 最后聊聊:备案需要注意的地方和域名的解析
  17. 抱歉出现问题:关闭 windows hello,然后尝试再次运行安装程序
  18. (gMLP)Pay Attention to MLPs
  19. 机器学习入门:偏差和方差
  20. 57步进电机了解与实践笔记

热门文章

  1. html怎么去除照片背景颜色,怎么去掉背景色?
  2. 浙大远程教育计算机小抄,一张A4纸能写多少个字?看完浙大考生的“小抄”,网友:稳过!...
  3. 让POW的共识机制不再成为公链系统吞吐率的瓶颈 | Conflux CTO伍鸣
  4. 阿里巴巴开源力作(二)--分布式流量卫兵Sentinel简介及控制台安装
  5. 用计算机画画的意义,浅谈电脑绘画在美术教学中的意义.doc
  6. 硬盘smart健康深度检测工具——WGCLOUD
  7. 如何防止网站关键数据被人恶意采集
  8. Aria2打造离线网盘
  9. python画二维图_python3实现绘制二维点图
  10. centos7安装es mysql_centos7.2安装Mysql5.7.13