当前位置: 首页 > news >正文

基于Open3D的点云处理15-特征点

Intrinsic shape signatures (ISS)

参考
ISS关键点:
基本原理是避免在沿主要方向表现出类似分布的点上检测关键点,在这些点上无法建立可重复的规范参考框架,因此后续描述阶段很难变得有效。在剩余点中,显着性由最小特征值的大小决定,以便仅包括沿每个主要方向变化较大的点。
在检测步骤之后,如果一个点在给定邻域上具有最大显着性值,则该点将被视为关键点。

import open3d as o3d
import numpy as np
import time
# Compute ISS Keypoints on ArmadilloMesh
armadillo = o3d.data.ArmadilloMesh()
mesh = o3d.io.read_triangle_mesh(armadillo.path)
mesh.compute_vertex_normals()pcd = o3d.geometry.PointCloud()
pcd.points = mesh.verticestic = time.time()
keypoints = o3d.geometry.keypoint.compute_iss_keypoints(pcd)
toc = 1000 * (time.time() - tic)
print("ISS Computation took {:.0f} [ms]".format(toc))mesh.compute_vertex_normals()
mesh.paint_uniform_color([0.5, 0.5, 0.5])
keypoints.paint_uniform_color([1.0, 0.75, 0.0])
o3d.visualization.draw_geometries([keypoints, mesh])

在这里插入图片描述

Fast Point Feature Histogram (FPFH)

FPFH特征是一个33维的向量,描述了一个点的局部几何属性。 33 维空间中的最近邻查询可以返回具有相似局部几何结构的点。
在这里插入图片描述

import open3d as o3dpcd = o3d.io.read_point_cloud('bunny.pcd')
voxel_size = 0.05 pcd_down = pcd.voxel_down_sample(voxel_size)radius_normal = voxel_size * 2
print(":: Estimate normal with search radius %.3f." % radius_normal)
pcd_down.estimate_normals(o3d.geometry.KDTreeSearchParamHybrid(radius=radius_normal, max_nn=30))radius_feature = voxel_size * 5
print(":: Compute FPFH feature with search radius %.3f." % radius_feature)
pcd_fpfh = o3d.pipelines.registration.compute_fpfh_feature(pcd_down,o3d.geometry.KDTreeSearchParamHybrid(radius=radius_feature, max_nn=100))
print(pcd_fpfh)
http://www.lryc.cn/news/111424.html

相关文章:

  • 算法刷题Day 58 每日温度+下一个更大元素I
  • 认识 spring AOP (面向切面编程) - springboot
  • 将css文件中的px转化为rem
  • JNI之Java实现远程打印
  • YOLOv5基础知识入门(2)— YOLOv5核心基础知识讲解
  • 免费的scrum敏捷开发管理工具
  • Hive创建外部表详细步骤
  • leetcode 452. 用最少数量的箭引爆气球
  • Pytorch Tutorial【Chapter 3. Simple Neural Network】
  • 2.虚拟机开启kali_linux
  • 【StyleGAN2论文精读CVPR_2020】Analyzing and Improving the Image Quality of StyleGAN
  • 医学图像处理
  • PyCharm安装使用2023年教程,PyCharm与现流行所有编辑器对比。
  • vue3中CompositionApi理解与使用
  • 【前瞻】视频技术的发展趋势讨论以及应用场景
  • Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题
  • Java实现购买机票案例
  • 通用FIR滤波器的verilog实现(内有Lowpass、Hilbert参数生成示例)
  • 有利于提高xenomai /PREEMPT-RT 实时性的一些配置建议
  • 【LeetCode】24.两两交换链表中的节点
  • 融合大数据、物联网和人工智能的智慧校园云平台源码 智慧学校源码
  • Spring Boot通过切面实现方法耗时情况
  • 深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局的理解
  • leetcode做题笔记54
  • GD32F103VE点灯
  • matlab使用教程(8)—绘制三维曲面图
  • 【Nginx14】Nginx学习:HTTP核心模块(十一)其它配置
  • 243. 一个简单的整数问题2(树状数组)
  • C#利用自定义特性以及反射,来提大型项目的开发的效率
  • 【传统视觉】C#创建、封装、调用类库