问题标签 [3d-reconstruction]

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 投票
2 回答
16186 浏览

computer-vision - 从立体图像中获取深度图的库?

我将设置一些设备来执行实时 3D 运动跟踪。我这样做的第一个想法是使用一对相机拍摄立体图像并计算深度图以获得我需要的 3D 数据。

是否有任何好的开源库 (C/C++) 可用并且足够快用于实时(~12-24fps)?我在 SourceForge 中找到了使用 Stereo VisionEStereo的 3D Reconstruction ,有人尝试过吗?

或者我可以实施的任何算法建议?

0 投票
3 回答
1959 浏览

java - 连接点以形成三角形

如果我有一组 3d 点(AKA 点云),那么确定我应该制作的 3 个点(三角形)组的最佳方法是什么,以创建表面重建?

0 投票
4 回答
12226 浏览

computer-vision - 如何使用 2 个立体摄像头构建房间的 3D 模型?准确构造的决定因素是什么?

目前,我已经提取了深度点以从 2 个立体摄像机构建 3D 模型。我使用的方法是 openCV graphCut 方法和来自http://sourceforge.net/projects/reconststereo/的软件。但是,生成的 3D 模型不是很准确,这让我产生疑问:1)基于像素的方法有什么问题?2) 我应该将基于像素的方法更改为基于特征的方法还是基于对象识别的方法?有没有最好的方法?3)还有其他方法可以进行这种重建吗?

此外,提取的深度仅来自 2 张图像。如果我将相机旋转 360 度以获取视频怎么办?期待有关如何结合这些深度信息的建议。

非常感谢 :)

0 投票
2 回答
2162 浏览

opencv - 相机和投影仪校准

我有一个关于相机校准的问题。我遵循了《Learning OpenCV for cameracalibration process》一书中显示的方法。但是校准(未失真)的图像比原始图像差。我的相机是否可能不再需要校准?(意味着校准是由某些驱动程序或类似的东西完成的)?事实上,原始图像似乎根本没有失真。我知道这不仅与失真有关,而且您会建议我做什么?

感谢您的每一个回复

0 投票
2 回答
1685 浏览

3d - 人脸3D重建

我有一个网络摄像头,可以围绕一个人的头部以给定的角度步长旋转,并为每一步获取一张照片。

我正在寻找一个免费的开源库,它从一组获取的图像开始,使我能够生成一个代表人的头部的 3d 表面,或者至少是一个定义明确的 3D 点云。

接受任何 3d 格式,即使 WPF XAML 更可取。我在网上搜索了几个小时,但我发现的只是十分之一的学术文件和数百个断开的链接......

我尝试了 MeshLab、AForge.NET、EmGUCV、OpenVis3D,但没有一个包含所需的功能,也没有一个很好的基本技术实现(例如密集特征 3D 三角化)

有什么建议吗?提前致谢 :)

0 投票
1 回答
2533 浏览

opencv - 如何使用opencv找到具有内在和外在参数的点的3d位置

我想用opencv找到一个点的位置。我使用 cvCalibrateCamera2 校准了两个相机。所以我知道内在和外在参数。我读到使用已知的内在和外在参数,我可以通过三角测量轻松重建 3d。opencv 中是否有实现此功能的功能。我认为 cvProjectPoint2 可能有用,但我不明白到底是什么。那么我如何找到一个点的 3d 位置。

谢谢。

0 投票
3 回答
1235 浏览

computer-vision - 是什么让对象表示和识别变得困难?

直观地说,从几乎任何物体的不同角度给出十几个左右的 2d 图像,似乎应该很容易构建该物体的 3d 表示。随后,以这种方式获得的 3d 表示库可用于识别新的 2d 图像。

沿着这些思路有哪些文献,为什么它还没有产生强大的对象识别?

0 投票
1 回答
5612 浏览

3d - 3D点云的表面重建处理不需要的重叠表面?

在阅读了两个不错的帖子后 简化 3d 表面的算法? https://stackoverflow.com/questions/838761/robust-algorithm-for-surface-reconstruction-from-3d-point-cloud 我还有一个关于表面重建的问题。

我有一些来自测距相机的 3d 点云数据。这意味着点云数据是嘈杂的,只有坐标 (x,y,z) 信息,并且只表示扫描场景的部分表面(又名 2.5D 数据)。

在尝试对它们进行网格化之前,我运行了一些对齐算法(例如 ICP)将多个范围数据合并为一个。不知何故,对齐并不完美,它让合并数据集有一些重叠不好的表面伪影,整个数据变得更加嘈杂!

这是一个插图。

算法(例如球旋转、泊松、行进立方体)可以处理这种情况吗?还是我需要一些预处理来使数据集更薄以减少重叠表面?

顺便说一句,我已经尝试使用 MeshLab 仅使用球旋转来从此类数据集中重建表面。它可以工作,但是某些表面法线是在错误的方向上生成的。我认为重叠点会导致这样的问题。

MeshLab中生成的曲面,黑白曲面法线方向不同。 图片

感谢您的任何建议和可能的答案。

0 投票
1 回答
6182 浏览

opencv - 使用随附图像和示例的 OpenCV 3D 重建

我正在尝试使用 OpenCV 示例文件从立体配置执行 3D 表面重建。我从 2 个网络摄像头创建了一个立体摄像头。我已经使用 stereo_calib.cpp ( https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/stereo_calib.cpp?rev=4086 ) 获得了校准参数,并使用 stereo_match 生成了点云.cpp(https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/stereo_match.cpp?rev=2614)。使用 MeshLab 打开的结果点云与原始场景完全不同(http://img707.imageshack.us/i/snapshot01u.png/)。

我在这里想念什么?

重建步骤:

  1. stereo_calib.cpp(在图像所在的同一文件夹中,没有参数,因此假定为默认值)

  2. stereo_match left01.jpg right01.jpg -i intrinsics.yml -e extrinsics.yml -p cloud.asc

  3. 在 MeshLab 上导入 cloud.asc

谢谢

0 投票
2 回答
4426 浏览

c# - .NET 可集成的稳健、快速的 3D 点云表面重建解决方案

我们有一个 .NET 4.0 C# WPF,加工模拟应用程序。现在我们陷入困境,因为我们必须从点云生成 3D 表面(网格生成)。我们一直在搜索、搜索、测试不同的库,以找到一个快速、健壮、正确并且可以集成到我们的应用程序中的解决方案,但我们没有运气。3D 成像不是我们的业务范围,因此我们不想对这部分进行编码。价格合理的商业解决方案也可以成为我们的答案。

到目前为止,我们已经尝试过:

  1. VCGLib通过 MeshLab UI,但他们使用的算法(Ball Pivoting)没有给出好的结果。

  2. 基于 PowerCrust 算法 ( MyCrust Robust ) 的 MatLab 代码,它给出了很好的结果,但我们认为如果我们用 C# 重新编码这段代码,它不会给我们想要的性能。我们需要一个可以轻松集成到我们项目中的解决方案。

  3. 在搜索的同时,我们也想出了这些示例应用程序。我们不知道这些应用程序中使用的算法的详细信息(详细信息在学术论文中),但它生成的结果有很多缺失的网格。但也许它可以帮助别人。

现在我们正在尝试学习CGAL并找出它是否可以成为我们的答案。但是由于安装 Boost 和编译 CGAL 对我们来说需要两天时间,所以我们才开始着手处理它。

任何人都可以为我们提供可以帮助我们的解决方案吗?

提前致谢