问题标签 [open3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
396 浏览

python - 如何从世界坐标投影到像素坐标?

我通过使用 Open3d 的重建系统从一系列 RGBD 帧创建点云,并通过绘制 3dbb(我有它们的位置)在点云中选择了 8 个点现在我想将这些点从世界坐标投影到像素坐标以找到每个 RGB 帧中每个点的位置,我拥有所有相机参数,例如相机内在矩阵、姿势矩阵(外在矩阵 = 旋转和平移矩阵),但我不知道最好的方法是什么?我知道 3d 到 2d 投影的基础知识,但我找不到任何特定的脚本,而且我不擅长编写程序来编写程序,有人可以帮我吗?我感谢任何帮助谢谢

0 投票
1 回答
1100 浏览

point-cloud-library - 沿 z 轴旋转点云

我正在尝试旋转 pcd,但出现以下错误,我该如何解决 -

错误 -

我该如何解决

0 投票
1 回答
232 浏览

c++ - C++/CLI 项目,C++ 共享库的包装器,出现错误

我正在尝试在托管代码 C#中将 Open3d用作 C++。

我设法将 open3d 的动态共享库作为运行时库 MD(多线程 DLL)。然后将 Open3D.lib 添加到 C++/CLI 项目中,但是当我编译它时,出现如下 LNK2005 错误:

在通过 StackOverflow 搜索时,找到了一个似乎是我的问题的确切解决方案的链接,但我无法理解该解决方案。

  1. 关闭 CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS。
  2. 从 DLL 中显式导出/导入所需的符号(使用 __declspec(export|import).

当我在 CMakeLists.txt 中关闭 CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 以构建 Open3D 时,我无法构建 Open3d 库。而且似乎不可能为__declspec(export)Open3d 库中的每个变量添加。

我的问题还有其他解决方案吗?或者我的方法中是否缺少遵循链接解决方案的部分?

0 投票
1 回答
189 浏览

computer-vision - [ARCore][Open3D] 深度和 RGB 配准

我正在尝试在 Open3D 教程中运行重建系统,其中包含使用 Android ARCoreacquireCameraImageacquireDepthImageGoogle Pixel 3 捕获的 RGB 和深度图像。

重建系统:http ://www.open3d.org/docs/release/tutorial/reconstruction_system/index.html

从 ARCore 接收到的图像具有以下分辨率:

RGB:640 x 480
深度:160 x 90

这些图像不能直接输入到 Open3D 重建系统,因为它期望 RGB 和深度图像具有相同的分辨率。

我目前正在研究如何将低分辨率深度图像转换为与 RGB 图像相同的分辨率以输入到重建系统。如何做到这一点?

0 投票
1 回答
1321 浏览

python - Open3d(Python),如何从 .ply 中删除点

我从英特尔实感深度摄像头获得点云。而我想去掉距离较远的加分点,如何在代码中加入条件?

获取点云的代码:

查看点云的代码:

我要删除的内容: 在此处输入图像描述

0 投票
1 回答
3164 浏览

python - 实时向点云添加新点 - Open3D

我正在使用 Open3D 在 Python 中可视化点云。本质上,我想做的是以编程方式向点云添加另一个点,然后实时渲染它。

这就是我到目前为止所拥有的。我找不到任何解决方案。

在下面的代码中,我展示了一种可能的解决方案,但它并不有效。一旦第一个窗口关闭,就会添加点并打开一个新窗口。这不是我想要的。我希望它动态显示新点,而无需再次关闭和打开。以及创建一个新变量的事实,我认为在处理越来越大的数据集时可能会出现问题

有什么可能的解决方案吗?

如果没有,我可以查看哪些其他库能够实时呈现新的传入点。

0 投票
2 回答
535 浏览

pytorch - Open3D-ML 和 pytorch

我目前正在尝试使用 open3d ML 和 Pytorch。我遵循了 Open3D-ML github 中给出的安装指南。但是,当我尝试导入 open3d.ml.torch 时,它会向我发送以下错误:Exception: Open3D was not built with PyTorch support!

我正在与

你知道那个错误来自哪里吗?

0 投票
1 回答
1047 浏览

python - 从 realsense API 或 Open3D 库可视化点云

我有一个来自英特尔实感摄像头的深度帧,我想将其转换为点云并可视化点云。到目前为止,至于仅在给定深度帧和相机内在函数的情况下创建点云,我发现了以下两个函数,但是我似乎无法找到一种方法来可视化其中一个或将它们存储为.ply文件。

我应该如何可视化以这种方式制作的点云?

方法一:

其中convert_depth_frame_to_pointcloud是来自 RealSense的辅助函数。

方法 2 使用 Open3D 库:

此外,当使用 o3d 时,我收到此错误:

此处读取 original_depth_frame:

其中一个深度图像是这样的:

其中 color_intrinsics 是:

使用 open3d,如果我不使用 opencv 读取深度图像,我可以创建 PNG 格式的点云(但是我需要将其作为代码的一部分)。

^^ 上面的代码生成一个 3D 点云。

0 投票
1 回答
118 浏览

python - 从点云的索引向量中获取坐标向量

我正在修补 open3d,我发现自己有一个向量,该向量由我从半径搜索中获得的每个点的索引组成,它看起来有点像这样:

我想用该列表中每个点的坐标创建另一个向量,知道我可以通过这样做获得点坐标:

我想要达到的最终结果看起来有点像这样:

我知道这可能是一个基本问题,但我一直试图解决这个问题几个小时,但我发现自己被阻止了。

现在,如果有人想获得更多上下文,这就是我现在正在使用的代码

我希望能够获取来自半径搜索的那个向量,并将来自该半径搜索的每个点的坐标放在一个向量中,以便我可以使用它。

0 投票
1 回答
217 浏览

python - 笔记本不能在 Binder 中工作;OSError:libusb-1.0.so.0:无法打开共享对象文件:没有这样的文件或目录

每当我尝试在活页夹上运行以下笔记本代码时,都会收到此错误:

OSError Traceback(最近一次调用最后一次)来自 pyntcloud import PyntCloud ----> 2 import open3d as od 3 4 5 path ="objects\Brigdging.stl"

/srv/conda/envs/notebook/lib/python3.7/site-packages/open3d/init .py in 54 # 在加载 CUDA pybind dll 之前执行此操作以正确解析符号 55 try: # StopIteration if cpu version not available - --> 56 _CDLL(next((_Path( file ).parent / 'cpu').glob('pybind*'))) 57 除了 StopIteration: 58 pass

/srv/conda/envs/notebook/lib/python3.7/ctypes/ init .py in init (self, name, mode, handle, use_errno, use_last_error) 362 363 if handle is None: --> 364 self._handle = _dlopen(self._name, mode) 365 else: 366 self._handle = 句柄

OSError:libusb-1.0.so.0:无法打开共享对象文件:没有这样的文件或目录

应该安装 libusb,我在 requirements.txt 中检查了它 - 但它仍然无法正常工作,只有当我只在 localhost 上运行笔记本时。