您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页点云数据点根据向量提取(传统方法)

点云数据点根据向量提取(传统方法)

来源:图艺博知识网

一、算法原理

1、主要函数
numpy.where()       # 选择在判条件下合适点
np.linalg.norm()    # 转换为单位向量
2.算法简介

根据2个点云点来求该点云点的向量,获得该向量内一定距离半径的圆柱点云,实现当点云数据x,y轴延伸不定时可以实现提取需要点云

原理如下:

二、代码实现
def slice(point, offset_point, points):
    """
    :param point: 初始点
    :param offset_point: 初始点
    :param points: 点云数据 np.asarray()
    :return: 切片后点云数据
    """
    direc = (point - offset_point)[0:2]     # 计算向量
    direc = direc / np.linalg.norm(direc)   # 计算单位向量
    slice_size = 0.05
    idx = np.where(((points[:, 0] - point[0]) ** 2 + (points[:, 1] - point[1]) ** 2 -
                  ((points[:, 0] - point[0]) * direc[0] + (points[:, 1] - point[1]) * direc[
                      1]) ** 2 <= slice_size ** 2))[0]
    return points[idx]
​

三、结果展示

原结果展示

提取后结果

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务