Laplace算子和Laplacian矩阵
1 Laplace算子的物理意义
Laplace算子的定义为梯度的散度。

在Cartesian坐标系下也可表示为:

或者,它是Hessian矩阵的迹:

以热传导方程为例,因为热流与温度的梯度成正比,那么温度的梯度的散度就是热量的损失率。

由此可见,Laplace算子可用于表现由于物质分布不均引起的物质输送。
2 Laplace算子的数学意义
现在,在一维空间中简单分析上面的式子:

也可以写作:

把分子第一项和第二项分别按泰勒展开:

可以看出Laplace算子实际上是一个使函数取平均的算子。多维空间相似。
3 Laplace方程
若Laplace算子右边为零,称为Laplace方程。Laplace方程的解称为调和函数。若右边是一个函数,称为泊松方程。
4 Laplace算子在图像处理的运用
图像处理是以像素作为基础离散化,如下:

5 Laplacian 矩阵
是一种用于表示图的矩阵。 它的维度是 |V|-by-|V| ( |V| 是节点的数目 )。 James Demmel提供了一种由Incidence matrix转化为Laplacian矩阵的方法。
In(G)是一个 |V|-by-|E| 矩阵( |E| 是边的数目 ), 设边e=(i,j),这一列除了第i行(为+1)和第j行(为-1)外都为零。 需要说明的是,根据这个定义,对于无向图 e=(i,j) 和 e=(j,i) 是等价的, 看似会生成很多不同的In图(根据每条边不同的取向)。但是实际上可以证明,无论边的方向怎么取,由In图生成的L图都是唯一的。 也就是说, e=(i,j) 和 e=(j,i) 怎么取是无关紧要的。 如何使用In图生成L图:


可得知Laplacian矩阵的两个重要性质:一是为对称阵。二是存在一个为零的特征值(秩为|V|-1)。三是一个半正定矩阵。 注意Laplace算子是负定的。
在求解含Laplacian矩阵的方程组时,常常要求为正定矩阵。观察发现这是因为Laplacian矩阵每列相加等于零。这时只需要手动更改第一行和第一列(比如第一个元素设为1,其余设为零),破坏其结构,令秩等于|V|就可以了。
对于非正定矩阵,左乘个transpose of the matrix, 推导如下:
Ax – b = 0
最小化 ||Ax – b||^2,展开后对x求导数:

可转化为正定方程组。
6 Laplace算子和Laplacian矩阵的关系
Laplace算子可以推广到多维情况计算。Laplacian矩阵主要用于三维以下的图形学计算,可以表现复杂的几何结构。而Lapace方程使用了Laplace算子来表示Laplacian矩阵。
Laplace算子和Laplacian矩阵的更多相关文章
- [转]Laplace算子和Laplacian矩阵
1 Laplace算子的物理意义 Laplace算子的定义为梯度的散度. 在Cartesian坐标系下也可表示为: 或者,它是Hessian矩阵的迹: 以热传导方程为例,因为热流与温度的梯度成正比,那 ...
- Python 图像处理 OpenCV (12): Roberts 算子、 Prewitt 算子、 Sobel 算子和 Laplacian 算子边缘检测技术
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- Python 图像处理 OpenCV (13): Scharr 算子和 LOG 算子边缘检测技术
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子
一起来学演化计算-SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子 觉得有用的话,欢迎一起讨论相互学习 ...
- Java流中的map算子和flatMap算子的区别
map算子和flatMap算子 map和flatMap都是映射(转换),那么他们之间究竟有什么区别呢? 1.我们先简单了解下map算子: @org.junit.Test public void tes ...
- 灰度图像--图像分割 Sobel算子,Prewitt算子和Scharr算子平滑能力比较
学习DIP第47天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发: https://g ...
- mit6.830-lab2-常见算子和 volcano 执行模型
一.实验概览 github : https://github.com/CreatorsStack/CreatorDB 这个实验需要完成的内容有: 实现过滤.连接运算符,这些类都是继承与OpIterat ...
- opencv学习笔记(六)---图像梯度
图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...
- 斑点检测(LoG,DoG) [上]
斑点检测(LoG,DoG) [上] 维基百科,LoG,DoG,DoH 在计算机视觉中,斑点检测是指在数字图像中找出和周围区域特性不同的区域,这些特性包括光照或颜色等.一般图像中斑点区域的像素特性相似甚 ...
随机推荐
- HBase 的Get(读),Put(写),Delete(删),Scan(扫描)和Increment(列值递增)
一.HBase介绍 1.基本概念 HBase是一种Hadoop数据库,经常被描述为一种稀疏的,分布式的,持久化的,多维有序映射,它基于行键.列键和时间戳建立索引,是一个可以随机访问的存储和检索数据的平 ...
- KEIL中头文件使用配置向导
在xxx.h头文件的代码中夹杂的“<h> </h>”.“<o>”“<i>”.“<c1> </c>”和“<e& ...
- .NET控制台程序监听程序退出
There are mainly 2 types of Win32 applications, console application and window application. They hav ...
- git如何使用
Git是分布式的,但多数时候仍然要使用中央仓库作为所有开发者的交互中心,和svn一样,开发人员仍要在本地写代码并提交到中央服务器.Git相较于svn最大的优势就在于其强大的分支系统,而git的工作流程 ...
- redis开机启动,有密码
#!/bin/sh # chkconfig: # description: Start and Stop redis REDISPORT= EXEC=/usr/local/redis/src/redi ...
- [PHP]Mysql的运用
1.创建数据库和表,代码如下: //创建数据库函数 function createDB($DBname){ $query="CREATE DATABASE $DBname"; re ...
- iis部署网站打不开
事件查看器 1.crypt32报错 2.ASP.NET 2.0错误 解决办法: 1.crpt32报错,根本原因是计算机无法连接更新根证书所致,可能造成死循环. [1]必须连接到 Internet 或关 ...
- oracle账户密码过期,修改为无限制
查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_users; 查看指定概要文件(如default)的密码有效期设 ...
- elasticsearch排序-----5
我们之前查询出的结果都会有一个_score分值表示列出结果与搜索结果的相关性,该值越高排序位置越靠前,es具体是如何计算该值的,我们认真来看看. 1.根据字段值排序 比如我们要查询/index5下su ...
- Vue-Cli 3 引入 SCSS 全局变量
首先创建一个全局变量文件 global.scss $theme-color: #efefef; 编辑vue.config.js module.exports = { // ... css: { loa ...