SLAM
lzfshub
这个作者很懒,什么都没留下…
展开
-
ROS Python同步订阅话题
无原创 2022-07-07 18:28:06 · 2490 阅读 · 0 评论 -
6.Open3D教程——体素化操作
点云和三角形网格是非常灵活的,但是是不规则的几何体类型。体素网格是在常规三维网格上定义的另一种三维几何体类型,而体素可以被认为是二维像素的三维对应物。Open3D具有可用于处理体素网格的几何体类型VoxelGrid。1. 从三角形网格创建Open3D提供了函数create_from_triangle_mesh,从一个三角网格来创建体素网格。它返回一个体素栅格,其中与三角形相交的所有体素都设置为1,其他所有体素都设置为0。参数voxel_size定义体素栅格的分辨率。import open3d as o原创 2021-02-02 17:55:14 · 2986 阅读 · 3 评论 -
2.Open3D教程——文件读取和保存
文件读取和保存本教程演示了Open3D如何读写基本数据结构。1. 点云下面的代码读取和写入点云。print("Testing IO for point cloud ...")pcd = o3d.io.read_point_cloud("../../test_data/fragment.pcd")print(pcd)o3d.io.write_point_cloud("copy_of_fragment.pcd", pcd)默认情况下,Open3D尝试通过文件扩展名推断文件类型。支持以下点云文件原创 2021-02-02 14:50:16 · 12236 阅读 · 0 评论 -
5.Open3D教程——图片数据操作
图片数据1. RGBD imagesOpen3D有一个图像的数据结构,该数据结构支持各种函数,例如:read_image, write_image和draw_geometries。Open3D图像和numpy数组可以相互转换。Open3D的RGBDImage由两张图片组成,RGBDImage.depth和RGBDImage.color。我们要求两个图像被注册到同一个相机帧,并具有相同的分辨率。下面的教程演示如何从许多著名的RGBD数据集中读取和使用RGBD图像。2. 红木数据集红木格式在16位单通道原创 2021-02-02 14:52:48 · 2125 阅读 · 0 评论 -
8.Open3D教程——变换
Open3D的几何类型有许多转换方法。在本教程中,我们将演示如何使用平移、旋转、缩放和变换。1. 平移我们要看的第一种转换方法是平移。平移方法将单个3D向量t作为输入,并通过该向量(vt=v+t)来转换几何体的所有点/顶点。下面的代码显示了如何在x方向和y方向上转换网格一次。import open3d as o3dimport numpy as npimport open3d_tutorial as o3dtutimport copymesh = o3d.geometry.TriangleM原创 2021-02-02 17:57:53 · 1141 阅读 · 1 评论 -
3.Open3D教程——点云数据操作
点云数据本教程阐述了基本的点云用法。随需要的文件链接1. 显示点云import open3d as o3dimport numpy as npprint("Load a ply point cloud, print it, and render it")pcd = o3d.io.read_point_cloud("fragment.ply")print(pcd)print(np.asarray(pcd.points))o3d.visualization.draw_geometries(原创 2021-02-02 14:51:21 · 5709 阅读 · 1 评论 -
4.Open3D教程——网格数据操作
网格数据1. 网格Open3D有一个称为TriangleMesh的3D三角网格数据结构。下面的代码演示如何从ply文件中读取三角形网格并打印其顶点和三角形。import open3d as o3dimport numpy as npimport matplotlib.pyplot as pltimport open3d_tutorial as o3dtutprint("Testing mesh in Open3D...")mesh = o3dtut.get_knot_mesh()prin原创 2021-02-02 14:51:54 · 1005 阅读 · 0 评论 -
7.Open3D教程——表面重建
在许多情况下,我们希望生成密集的三维几何体,即三角形网格。然而,从多视点立体方法,或深度传感器,我们只能获得一个非结构化的点云。为了从非结构化输入中得到三角形网格,我们需要执行曲面重建。文献中有几种方法,Open3D目前实现了以下功能:Alpha shapes [Edelsbrunner1983]Ball pivoting [Bernardini1999]Poisson surface reconstruction [Kazhdan2006]1. Alpha shapesalpha形[Edel原创 2021-02-02 17:56:14 · 4885 阅读 · 6 评论 -
9.Open3D教程——Open3d与NumPy
Open3D中的所有数据结构都与NumPy缓冲区本机兼容。下面的教程使用NumPy生成sync函数的变体,并使用Open3D可视化该函数。首先,我们生成一个n×3矩阵xyz。# Generate some neat n times 3 matrix using a variant of sync functionx = np.linspace(-3, 3, 401)mesh_x, mesh_y = np.meshgrid(x, x)z = np.sinc((np.power(mesh_x, 2) +原创 2021-02-02 17:58:51 · 1073 阅读 · 0 评论 -
ubuntu python 通过奥比中光摄像头获取深度图片和彩色图片
1. 依赖安装Openni Openni下载Openni添加至环境(要通过全局变量找到Openni头文件和库)安装primesense和opennipip install primesensepip install openni2. Python代码from openni import openni2import numpy as npimport cv2def mousecallback(event,x,y,flags,param): if event==c原创 2021-12-06 09:18:59 · 1573 阅读 · 2 评论 -
ubuntu 使用奥比中光播放点云
#引入python库numpy和open3d,可以通过pip install命令安装import osimport numpy as npimport open3d as o3dfrom openni import openni2import cv2#打开文件路径openni2.initialize()dev = openni2.Device.open_any()print(dev.get_device_info())depth_stream = dev.create_depth.原创 2021-12-06 19:59:22 · 1374 阅读 · 0 评论 -
Open3D RGBD图显示彩色点云
import osimport numpy as npimport open3d as o3dfrom openni import openni2import cv2#打开文件路径openni2.initialize()dev = openni2.Device.open_any()print(dev.get_device_info())depth_stream = dev.create_depth_stream()depth_stream.start()cap = cv2.Vi原创 2021-12-07 09:20:02 · 1389 阅读 · 0 评论