[转]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 在计算机视觉中,斑点检测是指在数字图像中找出和周围区域特性不同的区域,这些特性包括光照或颜色等.一般图像中斑点区域的像素特性相似甚 ...
随机推荐
- crosses initialization of “XXX” 的问题
在switch-case中定义了变量,用g++编译的时候报错crosses initialization of “XXX” ,在网上一查,说是gcc要求变量的定义不能位于goto之后 将变量定义放在s ...
- response和request的setCharacterEncoding区别
一.request.setCharacterEncoding():是设置从request中取得的值或从数据库中取出的值. 指定后可以通过getParameter()则直接获得正确的字符串,如果不指定, ...
- PHP中测试in_array、isset、array_key_exists性能
测试in_array.isset.array_key_exists性能.自己写的简易测试代码: ini_set('display_errors',true); error_reporting(E_AL ...
- Eclipse报错Project configuration is not up-to-date with pom.xml
1.问题 Description Resource Path Location Type Project configuration is not up-to-date with pom.xml. S ...
- 一些常用的基础Linux操作指令
复习的时候顺便分享我学的知识,虽不是什么牛的技术分享,只是一些基础,基础打好了技术慢慢就提高了!一起加油一起共勉! 具体的vi和vim命令集太多了,以后的随笔我也会分享出来,没必要全记住,记住常用的就 ...
- MySQL 大表备份、改表
0.背景: 需要对一个千万行数据的表新增字段,具体操作: a.dump 数据 b.delete 数据 c.alter 表 MySQL 版本为5.5,alter表时MySQL会锁表:表行数虽多,当数据 ...
- NAT alg 和 ASPF
NAT alg 和 ASPF 参考:https://handbye.cn/719.html 来源:https://www.jianshu.com/p/8a8eb36eef7d NAT的部署已经在企业网 ...
- 【About Me】 — 有关于我的 —
HNSDFZ信息组一直非常蒻的一只蒟蒻,正在朝着大佬与正解的方向不懈努力中. 目前还是一只高一的萌新,下个学期进高二就可以升级当学姐啦……٩(๑>◡<๑)۶ 呜呜呜已经高二啦!现在高二了 ...
- 安装logstash5.4.1,并使用grok表达式收集nginx日志
关于收集日志的方式,最简单性能最好的应该是修改nginx的日志存储格式为json,然后直接采集就可以了. 但是实际上会有一个问题,就是如果你之前有很多旧的日志需要全部导入elk上查看,这时就有两个问题 ...
- 【agc003D】Anticube
Portal --> agc003D Description 给你\(n\)个数,要从里面选出最多的数满足这些选出来的数中任意两个数的乘积都不是立方数 Solution (为什么感觉最近这种解法 ...