图像处理核函数:之高斯核的生成方法 python

图像处理核函数:之高斯核函数的生成方法 python

  • 高斯核函数(低通高斯滤波器核)
    • 高斯分布函数
    • 高斯核生成函数
    • 代码
    • 效果
    • 高斯核函数的图像

高斯核函数(低通高斯滤波器核)

最近在看DIP(Digital Image Processing),虽然可以调用Opencv的函数,但还是被这高斯核函数所吸引,这可能也是高斯分态对我的吸引力。

高斯分布函数

G(x)=12πσe−(x−x0)22σ2G(x) = \frac{1}{\sqrt{2\pi\sigma}}e^{-\frac{(x-x_0)^2}{2\sigma^2}}G(x)=2πσ1e2σ2(xx0)2
这是我们常见的高斯分布概率密度函数(正态分布)

高斯核生成函数


DIP书上给出的高斯核函数

G(s,t)=Ke−s2+t22σ2G(s, t) = K e^{-\frac{s^2 + t^2}{2\sigma^2}}G(s,t)=Ke2σ2s2+t2


看起来跟高斯分布是不是有点相似,但却有点不同,其实没有关系的。这里的K可以看成是归一化因子,而重要是的e−s2+t22σ2e^{-\frac{s^2 + t^2}{2\sigma^2}}e2σ2s2+t2这部分。

好了,有了函数,我们就可以写代码了。

代码

下面公式是我生成高期核的用到的公式:
G(x,y)=12πσ2e−(x−x0)2+(y−y0)22σ2G(x, y) = \frac {1} {2\pi\sigma ^2}e^{-\frac{(x-x_0)^2+(y-y_0)^2}{2\sigma^2}}G(x,y)=2πσ21e2σ2(xx0)2+(yy0)2

# 高斯核生成函数
def creat_gauss_kernel(kernel_size=3, sigma=1, k=1):if sigma == 0:sigma = ((kernel_size - 1) * 0.5 - 1) * 0.3 + 0.8X = np.linspace(-k, k, kernel_size)Y = np.linspace(-k, k, kernel_size)x, y = np.meshgrid(X, Y)x0 = 0y0 = 0gauss = 1/(2*np.pi*sigma**2) * np.exp(- ((x -x0)**2 + (y - y0)**2)/ (2 * sigma**2))return gauss

默认参数生成的高斯核:
[0.05854983, 0.09653235, 0.05854983],
[0.09653235, 0.15915494, 0.09653235],
[0.05854983, 0.09653235, 0.05854983]

  1. 为什么要判断sigma是否为0?
  2. k是什么,对核函数有何影响,对最终的图像有何影响?
  3. 代码有核的大小
  4. 代码有可定义的σ\sigmaσ

效果

左边是默认的3X3 高斯核,右边是自己生成的3X3的高斯核,从效果来看,没有什么差别,这也说明生成的高斯核可用。
在这里插入图片描述

高斯核函数的图像

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB-INFO/lib build path 的jar包问题

为什么80%的码农都做不了架构师?>>> 一、build path&WEB-INFO/lib介绍 build path:可以说是引用; WEB-INFO/lib:可以说是固定在一个地方; eclipse编译项目的时候是根据build path的,如果…

Windows phone 7之页面布局

Windows phone的页面布局方式一般是依赖布局控件实现的,而布局控件有三种Grid,StackPanel和Canvas Grid是网格布局方式,相当于一个表格,有行和列,新建一个Windows phone项目,打开MainPage.xaml,…

苹果电脑删除软件_软件自动开启很烦人?如何彻底关掉开机自动开启的应用程序...

使用Mac的小伙伴有没有这样的烦恼,电脑一开机,一堆烦人的软件就自动开启了,让人很懊恼,如何才能彻底关掉开机自动开启的应用程序?mac开机启动项怎么设置?开机启动项要怎么禁止?今天就带大家解决…

UVALive2678子序列

UVALive2678 http://122.207.68.93:9090/csuacmtrain/problem/viewProblem.action?id453 【题目描述】:n个正整数组成的序列。给定整数S,求长度最短的连续序列,使他们的和大于等于S。 【算法分析】: 【二分】: 全是…

Jupyter notebook 使用过程中的一些小技巧总结

Jupyter notebook 小技巧 这是自己使用Jupyter notebook 的过程,遇到的一些问题,还有一些使用的小技巧,希望可以帮且大家。会不定时更新 code 转 markdown: 按键 M code 转 markdown: 按键 Y 换行:打完一…

IOS 文件读取4种方法 转字符串 和data

//第一种方法: NSFileManager实例方法读取数据NSArray* paths NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);NSString* thepath [paths lastObject];thepath [thepath stringByAppendingPathComponent:"fd_list.txt&qu…

csgo怎么控制电脑玩家_电脑远程控制怎么弄

本教程以“Win 10”系统为例进行演示。方法一:1/6在“此电脑”单击鼠标右键选择“属性”2/6在弹出窗口中点击“远程设置”3/6勾选“允许远程协助连接这台计算机”,然后点击应用并确定4/6在微软小娜搜索“mstsc”5/6打开“远程桌面连接”6/6输入对方的IP地…

HTML 5 的自定义 data-* 属性和jquery的data()方法的使用

HTML 5 的自定义 data-* 属性和jquery的data()方法的使用 人们总喜欢往HTML标签上添加自定义属性来存储和操作数据。但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范…

java。接口和抽象类区别

接口和抽象类区别 a.抽象类里可以有非抽象方法 接口里只能有抽象方法 b.接口是抽象类的变体,再接口中所有方法都是抽象的转载于:https://www.cnblogs.com/zhaozhaozhang/p/5759714.html

MNIST 手写数字识别,我是如何做到886个可训练参数,识别率达到98.2%? (参数、模型压缩), Keras实现,模型优化

一 项目展示 下面可以看到验证集可以到了0.9823了,实际上,在下面的另外一个训练,可以得到0.9839,我保守的写了0.982 二 项目参数展示 我们先来看看LeNet 5 的结构与参数,参数有61,706个。 这个是我用…

javascript 计算两个坐标的距离 米_土方全面应用计算

各种土方量的计算方法汇总8.2.1 DTM法土方计算由DTM模型来计算土方量是根据实地测定的地面点坐标(X,Y,Z)和设计高程,通过生成三角网来计算每一个三棱锥的填挖方量,最后累计得到指定范围内填方和挖方的土方量,并绘出填…

VS2008 AJAX控件介绍

1 Accordion 2 AccordionPane 实现多面板,每次都只显示一个,其他收藏起来,可以设置显示隐藏的时间和渐变效果哦 3 AlwaysVisibleControlExtender 这个东西是将VerticalSide的值设置好后无论页面的滚动条滚动,这个目标控件一直都显…

py文件转exe时包含paramiko模块出错解决方法

问题描述:python代码中包含paramiko模块的远程登录ssh,在用pyInstaller转为exe时报错, 报错提示为“No handlers could be found for logger "paramiko.transport" 出错位置: ssh paramiko.SSHClient() ssh.set_missin…

unity 阳光插件_网络广告,阳光创信保驾护航

网络广告 就找阳光创信。网络营销的技术基础主要是以计算机网络技术为代表的信息技术。计算机网络是现代通信技术与计算机技术相结合的产物,它把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络,从而使众多的计算机…

第2章 Python 数字图像处理(DIP) --数字图像基础1 - 视觉感知要素 - 亮度适应与辨别

数字图像基础1视觉感知要素亮度适应与辨别import sys import numpy as np import cv2 import matplotlib import matplotlib.pyplot as plt import PIL from PIL import Imageprint(f"Python version: {sys.version}") print(f"Numpy version: {np.__version__…

快速幂与快速乘法

List 快速幂与快速乘法 ListKnowledge快速幂 原理code快速乘法 原理codeKnowledge 快速幂 原理 a^b%p 采用二进制得思想,将b转化为二进制数。 b c02^0c12^1c22^2c32^3……cn2^n a^b a^(a12^0)a^(c12^1)……a^(cn2^n) 所以我们可以在log(b)的时间内求出a^(2^0)…

Java程序设计 图形用户界面 小巫版简易计算器

/** 作者:wwj 时间:2012/4/13 功能:实现一个计算器应用程序实验要求:编写一个模拟计算器的应用程序,使用面板和网格布局, 添加一个文本框,10个数字按钮(0~9),…

phpcms文件结构

主要目录部分 /admin 管理后台目录 -- /skin/ 后台样式 -- /templates/ 后台样式模板/api api接口 /corpandresize 在线图片处理 -- /css/ csss样式 -- /images/ 图片 -- /js/ 引用js文件 -- /tmp/ 临时文件/data 数据缓存…

第1章 Python 数字图像处理(DIP) --绪论

Python 数字图像处理 关于本专栏 此专栏为 Python 数字图像处理(DIP)(冈萨雷斯版),专栏里文章的内容都是来自书里,全部手打,非OCR,因为很多公式,都是用LaTex输入&#xf…

phython在file同时写入两个_轻松支撑百万级数据点写入 京东智联云时序数据库HoraeDB架构解密...

本文将通过对时序数据的基本概念、应用场景以及京东智联云时序数据库HoraeDB的介绍,为大家揭秘HoraeDB的核心技术架构和解决方案。首先我们来了解下时序数据库的基本概念。时序数据库全称时间序列数据库,主要用于处理带时间标签的数据,带时间…