zoukankan      html  css  js  c++  java
  • [工具]toolbox_graph_laplacian

    Laplacian:经常用在提取局部特征。例如在论文A survey on partial retrieval of 3D shapes中,Laplace-Beltrami算子被用来提取局部特征。具体做法为:

    对于采样顶点,首先定义其局部区域,然后通过对Laplace-Beltrami算子分解,得到的最大值作为局部特征进行统计。

    wiki:http://en.wikipedia.org/wiki/Laplacian_matrix

    在toolbox_graph中,提供了下列函数来求得来计算Laplace矩阵

    function W = compute_mesh_weight(vertex,face,type,options)

      参数说明:vertex

        face

        type——提供不同的计算模式,当下列参数时,计算公式分别为:

            combinatorial:如果顶点i与顶点j相连,则W(i,j)=1

            distance: W(i,j) = 1/d_ij^2

            conformal:W(i,j) = cot(alpha_ij)+cot(beta_ij)。其中alpha_ij和beta_ij分别为到边ij的角度

    function L = compute_mesh_laplacian(vertex,face,type,options)

      参数说明:vertex、face、type——同上。

        options——参数symmetrize和normalize的设定可以可以参考维基百科上与之相关的部分。

          

        If options.symmetrize=1 and options.normalize=0 then
          L = D-W
        If options.symmetrize=1 and options.normalize=1 then
          L = eye(n)-D^{-1/2}*W*D^{-1/2}
        If options.symmetrize=0 and options.normalize=1 then
          L = eye(n)-D^{-1}*W.

        eye(n)即为单位矩阵。

    function G = compute_mesh_gradient(vertex,face,type,options)

    计算梯度,G‘*G即为上述求得的Laplacian矩阵。

  • 相关阅读:
    单例对象
    G1回收算法
    Java锁
    VUE开发
    Java线程池
    Java线程状态
    什么是进程,什么是线程
    maven 常用命令
    linux启动脚本,暂停脚本
    delphi---控件使用
  • 原文地址:https://www.cnblogs.com/sipin/p/4366063.html
Copyright © 2011-2022 走看看