设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1519|回复: 0

matlab练习程序(点云密度)

[复制链接]

11

主题

76

金钱

128

积分

入门用户

发表于 2019-8-27 15:08:04 | 显示全部楼层 |阅读模式

算法思路是首先建立kd树,然后找到每个点距离最近的点的距离,对距离求和再求平均即可。

代码如下:
  1. clear all;
  2. close all;
  3. clc;

  4. pc = pcread('rabbit.pcd');
  5. pc = pcdownsample(pc,'random',0.1);   %降低一下数据量
  6. pc_point = pc.Location';                %得到点云数据
  7. kdtree = vl_kdtreebuild(pc_point);      %使用vlfeat建立kdtree

  8. dissum = 0;
  9. for i=1:length(pc_point)   
  10.     p_cur = pc_point(:,i);
  11.     [index, distance] = vl_kdtreequery(kdtree, pc_point, p_cur, 'NumNeighbors',2);    %寻找当前点最近的非自身点
  12.     dissum = dissum + sqrt(distance(2));        %距离求和
  13. end

  14. avg = dissum / length(pc_point);
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表