要搞清楚高斯核的原理的话,把下面这篇博文认认真真看一遍就可以了,链接如下:
https://blog.csdn.net/u013066730/article/details/123112159

下面是我认为值得注意和需要补充说明的几点:
1 为什么高斯滤波能够让图像实现模糊化?
答:高斯滤波本质是低通滤通(有兴趣的同学可以查阅高斯滤波器的频率响应函数),即让信号(数据集)的低频部分通过,高频部分滤除。图像的细节其实主要体现在高频部分,所以经过高斯滤波,图像看起来就变模糊了。

2 为什么很多文章中说生成高斯核时,我们通常取的范围就是-3个标准差到+3个标准差的范围。
答:因为高斯分布中变量值取-3个标准差到+3个标准差时,即-3sigma到3sigma区间内时,就占整个分布的99.8%了,我们就大致认为该段分布已经包含了所有的情况。

3 下面两幅截图中的159、273是怎么来的?


答:其实就是把矩阵中所有元素相加,咱们先验证下,再说为什么。

>> 2+4+5+4+2+4+9+12+9+4+5+12+15+12+5+4+9+12+9+4+2+4+5+4+2ans =159>>

>> 1+4+7+4+1+4+16+26+16+4+7+26+41+26+7+4+16+26+16+4+1+4+7+4+1ans =273>>


为什么矩阵中的每个元素都要除以一个常数呢?
答:这其实是做归一化操作,这里的归一化其实是权重归一化,如果我们不对核做权重归一化的操作话,那么我们做了相关运算或卷积运算之后像素值就有可能不在0~255的范围内,这是我们不希望出现的,所以要对核做权重归一化操作;另外,我们也不希望做了相关运算或卷积运算之后像素的值被线性压缩在一个小范围内,所我们也要对核做权重归一化操作。
PS:什么是相关运算、什么又是卷积运算?答:看下面这篇博文就能搞清楚了。
https://blog.csdn.net/zhuwei0710/article/details/68169317
实际上博文https://blog.csdn.net/u013066730/article/details/123112159从下面的内容开始,以实际例子回答了这个问题:

4 是否需要仔细分析博文https://blog.csdn.net/u013066730/article/details/123112159对高斯核分离的原理介绍?
答:通常情况下不需要, 只需要知道高斯核分离的作用是加快运算速度。目前我们使用的图像处理工具MATLAB和OpenCV都自带高斯滤波函数,这些函数的内部是作了高斯核分离优化的。

5 标准差、均值相同,那么3阶高斯核、5阶高斯是否是惟一的?
答:不是惟一的。因为这还与我们在-3个标准差到+3个标准差的范围内取哪些变量值有关,比如我既可取-2,-1,0,1,2这五个点,也可以取-2.1,-1.1,0.1,1.1,2.1这五个点,显然,取值不一样,高斯核也不一样。

6 下面是自己用Python写的生成高斯核的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#作者微信/QQ 2487872782
#有问题可以联系作者交流
# 代码中涉及到函数meshgrid()的使用,不清楚地可以参考我的博文
# https://blog.csdn.net/wenhao_ir/article/details/124124717import numpy as np
import syskernel_size = 5
sigma = 1if sigma == 0:print('Error!The value of sigma cannot be zero.')sys.exit()
else:sigma_3 = 3 * sigmaX = np.linspace(-sigma_3, sigma_3, kernel_size)Y = np.linspace(-sigma_3, sigma_3, kernel_size)x, y = np.meshgrid(X, Y)gauss_1 = 1 / (2 * np.pi * sigma ** 2) * np.exp(- (x ** 2 + y ** 2) / (2 * sigma ** 2))Z = gauss_1.sum() #计算归一化系数gauss_2 = (1/Z)*gauss_1

代码运行结果如下:

高斯核原理详解+生成高斯核的Python代码相关推荐

  1. 强化学习之原理详解、算法流程及Python代码

    开头先附上强化学习(reinforcement learning)的学习视频:https://morvanzhou.github.io/tutorials/machine-learning/reinf ...

  2. EM算法高斯混合模型原理详解及小例子

    EM算法与混合高斯模型 EM算法经常用在混合高斯模型下,那么首先我们先介绍一下什么是混合高斯模型 什么是混合高斯模型 首先我们对于单个高斯模型我们会有如下数据,并且不同的数据服从的高斯也不同,也就是它 ...

  3. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...

  4. SVM分类器原理详解

    SVM分类器原理详解 标签: svm文本分类java 2015-08-21 11:51 2399人阅读 评论(0) 收藏 举报  分类: 数据挖掘 文本处理(16)  机器学习 分类算法(10)  目 ...

  5. 图像质量损失函数SSIM Loss的原理详解和代码具体实现

    本文转自微信公众号SIGAI 文章PDF见: http://www.tensorinfinity.com/paper_164.html http://www.360doc.com/content/19 ...

  6. nginx配置文件及工作原理详解

    nginx配置文件及工作原理详解 1 nginx配置文件的结构 2 nginx工作原理 1 nginx配置文件的结构 1)以下是nginx配置文件默认的主要内容: #user nobody; #配置用 ...

  7. 【原创】R-CNN及Selective Search原理详解

    R-CNN原理详解: 候选区域生成 Selective Search方法 算法流程 计算相似度 给区域打分 特征提取 类别判定 位置调整 总结 R-CNN论文链接: R-CNN R-CNN将CNN引入 ...

  8. 决策树算法和CART决策树算法详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  9. SVM-支持向量机原理详解与实践之一

    SVM-支持向量机原理详解与实践 前言 去年由于工作项目的需要实际运用到了SVM和ANN算法,也就是支持向量机和人工神经网络算法,主要是实现项目中的实时采集图片(工业高速摄像头采集)的图像识别的这一部 ...

  10. SVM-支持向量机原理详解与实践之四

    SVM-支持向量机原理详解与实践之三 SVM原理分析 核函数与核技巧 什么是核 什么是核,核其实就是一种特殊的函数,更确切的说是核技巧(Kernel trick),清楚的明白这一点很重要. 为什么说是 ...

最新文章

  1. Nginx学习4:负载均衡实例
  2. C语言中 指针强化训练之 memcpy
  3. 当你学不进去的时候,试试“普瑞马法则
  4. ECharts开源图表使用方法简单介绍
  5. 052_CSS3 appearance属性
  6. android有关的笔记,android学习笔记1——webview相关
  7. 大型程序是如何开发的_小程序开发好之后如何引流
  8. 频率和概率、平均值和期望值
  9. Gitlab 服务器搭建
  10. python数据分析numpy_Python数据分析之numpy学习(一)
  11. linux root权限_怎样在Linux内核中埋炸弹获取root权限lt;2/2gt;终结篇
  12. csrss.exe病毒查杀
  13. python编写程序、一个富翁与陌生人做交易_智慧职教云课堂Python程序设计(常州工业职业技术学院)题目答案...
  14. 农历与公历日期转换(1900年 至 2049年)
  15. day20 网络编程
  16. 微信小程序自动检测新版本并静默更新,及热启动和冷启动
  17. 【大数据面试题】(五)Spark 相关面试题总结
  18. VMware Vsphere-下
  19. 三创赛优秀作品_全国-电子商务-三创赛省赛优秀作品.doc
  20. c语言计算时钟的夹角不用if,C语言学习笔记——计算时钟的夹角

热门文章

  1. 深度解析 steam密码js逆向(篇幅很长)
  2. [自测]linux运维100题目(阿里巴巴内部题目)
  3. PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
  4. dms mysql 工具_数据库管理工具DMS
  5. Mac 软件汉化教程(一)
  6. matlab 三对角矩阵 追赶法,计算方法追赶法解三对角矩阵方程
  7. C语言如何打开shx文件,shx文件怎么打开 .shx格式打开方式解答
  8. 如何修改Maven本地仓库位置
  9. 苹果鼠标驱动_一款鼠标让工作更高效——咪鼠S2智能语音鼠标测评
  10. 读书笔记:深度学习入门-基于python的理论与实现(俗称鱼书)