numpy.where() # 选择在判条件下合适点 np.linalg.norm() # 转换为单位向量
根据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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务