5.点云法向量的计算(代码)

本文看了博主三维点云学习(1)上-PCA主成分分析 法向量估计_主成分分析法表面法向量估计-CSDN博客的文章,内容基本上参考了该博文,在这里写只是为了记笔记,没有要抄袭的意思,如果要更详细的了解,可以去看该博文。

首先,读取点云数据并且处理点云数据,我下载的一个点云数据文件不是pcd文件,我首先读取了点云数据,并将其处理为array数据,该数据的shape为(641, 3),表示有641个xyz的数据,后面的代码和前面博文的相同(该代码用到了pca主成分分析原理,也很好理解,在前面博文有解释,要单独理解主成分分析原理,可以看我的另一篇博文12.1 主成分分析原理(PCA)_主成分分析零均值化-CSDN博客,该博文详细解释了主成分分析原理),代码如下:

import numpy as np
import open3d as o3d

import open3d as o3d
import os
import numpy as np
import matplotlib.pyplot as plt
from pandas import DataFrame
from pyntcloud import PyntCloud

# 聚类算法
def cluster(points, radius=100, nums=250):
    """
    points: pointcloud
    radius: max cluster range
    """
    print("................", len(points))
    items = []
    while len(points) > 1:
        item = np.array([points[0]])
        base = points[0]
        points = np.delete(points, 0, 0)
        distance = (points[:, 0] - base[0]) ** 2 + (points[:, 1] - base[1]) ** 2  + (points[:, 2] - base[2]) ** 2# 获得距离
        infected_points = np.where(distance <= radius ** 2)  # 与base距离小于ra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值