matlab pcnormals()函数的功能 详解

news/2025/1/17 7:59:18/

官方解释: 

pcnormals - Estimate normals for point cloud
    This MATLAB function returns a matrix that stores a normal for each
    point in the input ptCloud.

    normals = pcnormals(ptCloud)
    normals = pcnormals(ptCloud,k)

    输入参数
        ptCloud - Object for storing point cloud
            pointCloud object
        k - Number of points used for local plane fitting
            integer greater than or equal to 3

    输出参数
        normals - Normals used to fit a local plane
            M-by-3 | M-by-N-by-3

翻译:

估计点云的法线
这个MATLAB函数返回一个矩阵,该矩阵存储输入ptCloud中每个点的法线。

normal = pcnormals(ptCloud)
normals = pcnormals(ptCloud,k)

输入参数
ptCloud -存储点云的对象
pointCloud对象
k -用于局部平面拟合的点数
大于或等于3的整数

输出参数
法线-用于拟合局部平面的法线
m × 3 | m × n × 3

k是最邻近点的数量,默认是8。

clear
% 加载茶壶的点云
ptCloud = pcread('teapot.ply');
% 计算法向量,6个邻近点
normals = pcnormals(ptCloud);
% 读取x
x = ptCloud.Location(1:5:end,1);
% 读取y
y = ptCloud.Location(1:5:end,2);
% 读取z
z = ptCloud.Location(1:5:end,3);
% uvw为法向量的三列
u = normals(1:5:end,1);
v = normals(1:5:end,2);
w = normals(1:5:end,3);
pcshow(ptCloud)
hold on
% 显示法向量
quiver3(x,y,z,u,v,w);
hold off

 

曲率计算-并计算法向量    直接采用了协方差矩阵进行计算

clear
% 读取茶壶点云
ptCloud = pcread('teapot.ply');
% 读取xyz
a = ptCloud.Location;
%vec储存法向量
vec = zeros(size(a));
%q储存曲率
q = zeros(length(a),1);k = 8;
% 搜索每个点的最邻近点
neighbors = knnsearch(a(:,1:3),a(:,1:3), 'k', k+1);
for i = 1:length(a)curtemp = neighbors(i,2:end);indpoint = a(curtemp,:);% 计算协方差并提取特征[v, c] = eig(cov(indpoint));%特征值按照升序排列1<2<3c = diag(c)';%计算特征值的总和z = sum(c);%计算曲率,用最小特征值除/特征值总和,这也是特征归一化p1 = c(:,1)/z;q(i,:) = abs(p1);%最小特征值对应的列向量就是法向量,dot是交叉相乘vec(i,:) = v(:,1)';
end% 读取x
x = ptCloud.Location(1:5:end,1);
% 读取y
y = ptCloud.Location(1:5:end,2);
% 读取z
z = ptCloud.Location(1:5:end,3);
% uvw为法向量的三列
u = vec(1:5:end,1);
v = vec(1:5:end,2);
w = vec(1:5:end,3);
pcshow(ptCloud)
hold on
% 显示法向量
quiver3(x,y,z,u,v,w);
hold off

 


http://www.ppmy.cn/news/974377.html

相关文章

RT-Thread快速入门-线程管理

在 RT-Thread 中&#xff0c;最基本的调度单位是线程&#xff0c;其他 RTOS 也叫任务。如果学习过或者了解过 RTOS&#xff0c;任务这种叫法是最为熟知的。 本篇文章来学习一下 RT-Thread 线程方面的内容。对于初学者来说&#xff0c;转换一下思维&#xff0c;建立多任务&…

Cisco Packet Tracer汉化处理

一、汉化包获取 点击链接下载汉化包&#xff0c;提取码&#xff1a;4pkx 二、操纵 将汉化包解压到Packet Tracer安装的路径下的languages目录下&#xff0c;如下图&#xff1a; 打开Packet Tracer&#xff0c;点击Options - Preference 选择OK&#xff0c;重启Packet Trac…

packet tracer 下载及简介

Packet Tracer Cisco Packet Tracer &#xff08;下面简称PT&#xff09;是由Cisco公司发布的一个模拟网络环境的辅助学习工具&#xff0c;为学习思科网络课程的初学者去设计、配置、排除网络故障提供了环境。 PT提供可视化、可交互的用户图形界面&#xff0c;来模拟各种网络设…

Cisco Packet Tracer 5.3 6.1 6.2 7.2 7.3.1 8.0.0 7.0.1 8.1.0 8.2.0各版本免费下载

Yo what’s up guys 包含思科模拟器各个版本 Cisco Packet Tracer 5.3 Cisco Packet Tracer 6.1 Cisco Packet Tracer 6.2 Cisco Packet Tracer 7.2 Cisco Packet Tracer 7.3.1 Cisco Packet Tracer 8.0.0 Cisco Packet Tracer 8.1.0 Cisco Packet Tracer 8.2.0注意&#xff1…

Cisco Packet Tracer 8.2 注册 下载软件 登录教程

1.注册账户 思科官网: 思科中文官网点击右上角登录 点击create a new account 注意事项&#xff1a; 姓名用拼音就行 2.激活账户 邮箱点击链接登录即可激活 3.注册课程 思科课程中文官网: 思科课程中文官网 点击课程点击所有课程选择Cybersecurity Essentials 这门有中…

思科模拟器|Cisco Packet Tracer v6.2 安装与汉化保姆级教程

所用软件&#xff1a;Cisco Packet Tracer v6.2 安装包 和 Chinese_chi.ptl 汉化文件 目录 一&#xff1a;Cisco Packet Tracer v6.2 软件安装 二、运用Chinese_chi.ptl 文件 汉化 安装包与汉化文件评论区自取 一&#xff1a;Cisco Packet Tracer v6.2 软件安装 安装步骤…

官网下载Cisco Packet Tracer

找寻下载地点 这个要去思科学院而不是思科官网下&#xff08;如下图&#xff09;&#xff0c;进第二个点击更多 点击下载packet tracer进入介绍页面 下拉之后选择 查看详情注册后登录找到下载方式终于进入下载链接界面 9下载的真的很慢

Cisco Packet Tracer 最新版在官网如何下载?

“思科网络技术学院” https://www.netacad.com/ 进入网站后&#xff0c;如果点击右上角的登录然后再注册的话&#xff0c;发现没有与NetAcad账户关联 这是因为通过右上角注册得到的账户是Cisco的账户&#xff0c;之后是无法用于NetAcade的。需要关联才可以使用所以很多小伙伴…