[转]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 在计算机视觉中,斑点检测是指在数字图像中找出和周围区域特性不同的区域,这些特性包括光照或颜色等.一般图像中斑点区域的像素特性相似甚 ...
随机推荐
- 在MFC中显示图片(opencv Mat类型)
1,在MFC窗体中添加picture control控件,并添加对应的变量名 2,在窗体的初始化窗口中添加: namedWindow(); HWND hWnd = (HWND)cvGetWindowH ...
- ySQL性能优化的21个最佳实践 和 mysql使用索引
MySQL性能优化的21个最佳实践 和 mysql使用索引 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 ...
- Python2X和Python3X的区别
python2X:源码重复不规范python3X:整合源码,更清晰简单优美. python2X:默认的编码是ascii (解决办法为第一行添加 : #-*- encoding:ut ...
- 9款最佳的Linux文件比较工具
程序员和撰稿人在编写程序文件或平常的文本文件时,有时想知道两个文件或同一文件的两个版本之间的差异.你在Linux上比较两个计算机文件时,文件内容之间的差异就叫diff.这一描述来源于提到diff的输出 ...
- 第215天:Angular---指令
指令(Directive) AngularJS 有一套完整的.可扩展的.用来帮助 Web 应用开发的指令集 在 DOM 编译期间,和 HTML 关联着的指令会被检测到,并且被执行 在 AngularJ ...
- 设置快捷键 让word轻松实现无格式粘贴
设置快捷键 让word轻松实现无格式粘贴使用word时,我们经常会遇到需要将网页上的内容复制到word进行编辑的情况,但是通常这样复制进来的内容都是带有格式的,编辑起来非常不便.虽然我们可以利用“记事 ...
- BZOJ4553: [Tjoi2016&Heoi2016]序列 树套树优化DP
把pos[i]上出现的平常值定义为nor[i]最大值定义为max[i]最小值定义为min[i],那么我们发现在两个值,i(前),j(后),当且仅当max[i]<=nor[j],nor[i]< ...
- 洛谷 P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 解题报告
P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 题意: 给定一个长\(N\)的序列,求满足任意两个相邻元素之间的绝对值之差不超过\(K\)的这个序列的排列有多少个? 范围: ...
- java多线程 -- 原子量 变量 CAS
多线程原子性问题的产生和解决 原子变量:在 java.util.concurrent.atomic 包下提供了一些原子变量. 1. volatile 保证内存可见性,可以查看atomic中变量是使用v ...
- Html5 drag&drop
下面是一个拖放例子 定义如下的两个div,分别是用于拖放后放置新元素的容器和可拖动的元素: <body> <div id="holder" style=" ...