深蓝学院第一章作业总结(上)

本文是深蓝学院第一章作业的上篇总结,主要介绍点云处理中的法向量估计。通过选取点云中点的临近点进行曲面拟合,并利用PCA主成分分析找到特征值最小的特征向量作为法向量。文章包含核心代码展示及初步结果分析。
摘要由CSDN通过智能技术生成

1作业要求

在这里插入图片描述

2原理部分

在这里插入图片描述

3法向量估计

法向量估计
思想:选取点云中每一点,对其进行临近点的搜索,将包含该点的临近点拟合成曲面,对曲面中的点进行PCA主成分分析,查找特征值最小的对应的特征向量,该特征向量即为该拟合曲面的法向量

4核心代码在这里插入图片描述

在这里插入图片描述

5代码

# 实现PCA分析和法向量计算,并加载数据集中的文件进行验证

import open3d as o3d 
import os
import numpy as np
from pyntcloud import PyntCloud

# 功能:计算PCA的函数
# 输入:
#     data:点云,NX3的矩阵
#     correlation:区分np的cov和corrcoef,不输入时默认为False
#     sort: 特征值排序,排序是为了其他功能方便使用,不输入时默认为True
# 输出:
#     eigenvalues:特征值
#     eigenvectors:特征向量
def PCA(data, correlation=False, sort=True):
    # 作业1
    # 屏蔽开始
    # 1.归一化  取均值,去中心化
    average_data=np.mean(data,axis=0)#对列取均值
    decentration_matrix=data-average_data#去中心化
    # 2.取协方差矩阵H,并用SVD奇异值分解,求解出相应的特征值,特征向量
    H=np.dot(decentration_matrix.T,decentration_matrix)#求协方差矩阵
    eigenvectors,eigenvalues,eigenvectors_T=np.linalg.svd(H)#SVD特征值、特征向量 详见np.linalg.svd()函数
    # 屏蔽结束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Axiaoxiaoshuai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值