问题标签 [stereo-3d]
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.
image-processing - 细化视差图?
谁能告诉我一种改进视差图的方法?我正在尝试生成人脸的视差图,但眼睛、鼻子、嘴唇等特征不清楚。如何改进它以使其看起来更好?
image-processing - 负视差值?
将负视差值映射到灰度时如何处理它们?我尝试将左侧图像对与右侧图像对匹配,并且很多时候出现负值。目前我将它们标准化为 0-255(8位图)!
opencv - 使用 OpenCV 校正立体图像
我打算制作一个程序,它将由单个相机拍摄的立体对图像,然后对其进行校正和裁剪,以便在使用平行或交叉眼方法并排查看图像时,将获得最佳的 3D 效果. 左侧图像将作为参考图像,右侧图像将被修改以进行校正。我相信 OpenCV 将是实现这些目的的最佳软件。到目前为止,我相信处理会发生这样的事情:
- 更正图像之间的旋转。
- 校正 y 轴偏移。
这样做我会想象会导致右图上方和下方出现不规则的黑色边框,因此:
- 将两个图像裁剪到相同的高度以删除边框。
- 计算立体对应/视差
- 计算最佳视差
- 校正图像以获得最佳视差
好的,这就是我对需要做什么以及它发生的顺序的看法,我要问的是,这看起来对吗,有什么我错过的,有什么错误的顺序等等。另外,哪些具体功能我需要使用 OpenCV 来完成这个项目的所有必要步骤吗?或者OpenCV不是要走的路?非常感谢。
opencv - 如何计算立体视觉的基本矩阵
我正在尝试编写一些代码来计算基本矩阵以确定立体图像之间的关系。我从大多数人推荐的 Hartley 和 Zisserman 书开始,但它没有任何实际示例,而且它的示例代码在我没有的 MATLAB 中。然后我切换到3D 计算机视觉技术和算法简介,它更实用,并且有实际示例。我使用 Python 和 numpy 实现了推荐的 8 点算法,但我无法验证它的有效性。
我正在使用该书第 48 页上列出的数据集(使用上面的链接查看 Google 图书节选)。当我将这些点标准化时,我得到的结果与那本书相同。但是,当我使用 numpy 的 SVD 函数计算基本矩阵时,我得到以下 F 值:
这个矩阵满足方程p_R^ * F * p_L = 0所以它看起来是正确的。但是,它与书中计算的矩阵有很大的不同。我尝试使用 OpenCV 的 cv.FindFundamentalMat() 仔细检查答案,我得到了第三个答案:
我不是如何计算其他两个矩阵的,但是我在网上找不到任何基本矩阵计算的示例来验证我对 8 点算法的实现。我的实现返回一个满足等式的值这一事实给了我信心,但我担心我做了一些愚蠢的事情,这就是为什么我无法匹配书中或 OpenCV 中的结果。
graphics - 为多视图立体合并深度图?
有没有一种简单的合并深度图的方法?我从 3 个不同的位置为雕像拍照。然后每个立体对产生视差图。我使用三角测量将其重新投影到深度。最后我得到 3 组 3d 点。如何将它们合并为一个 3d 模型?
java - 制作 Java 程序 Stereo-3D
我想知道是否可以将 java 应用程序(或任何应用程序)转换为立体 3D (例如,使用红蓝眼镜)。
是否有任何工具或框架可以做到这一点?
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/)。
我在这里想念什么?
重建步骤:
stereo_calib.cpp(在图像所在的同一文件夹中,没有参数,因此假定为默认值)
stereo_match left01.jpg right01.jpg -i intrinsics.yml -e extrinsics.yml -p cloud.asc
在 MeshLab 上导入 cloud.asc
谢谢
opencv - 使用 OpenCV 进行立体视觉
任何人都可以提供一个关于 OpenCV 深度图或距离计算的好的示例程序吗?
c# - 如何使用 C# 分别控制立体帧?(NVIDIA 3D 快门眼镜)
我正在尝试制作一个非常简单的应用程序,它将在每只眼睛上显示不同的图像。我有华硕 VG236H 显示器和 NVIDIA 3D Vision 套件,即立体 3D 快门眼镜。我正在使用 C#、.NET Framework 2.0、DirectX 9 (Managed Direct X) 和 Visual Studio 2008。我一直在搜索示例和教程的高低,实际上找到了一些并基于我创建的程序但是由于某种原因,我无法让它工作。
在寻找如何为每只眼睛显示不同图像的示例时,许多人一直在参考 GDC 09 上的 NVIDIA 演示文稿(著名的 GDC09-3DVision-The_In_and_Out.pdf 文档)和第 37-40 页。我的代码主要是基于那个例子构建的:
- 我在函数 LoadSurfaces() 中在表面(_imageLeft 和 _imageRight)上加载两个纹理(Red.png 和 Blue.png)
- Set3D() 函数将这两个图像并排放置到一个更大的图像中,该图像的大小为 2x 屏幕宽度和屏幕高度 + 1 (_imageBuf)。
- Set3D() 函数继续在最后一行附加立体声签名。
- OnPaint() 函数获取后台缓冲区 (_backBuf) 并将组合图像 (_imageBuf) 的内容复制到其中。
当我运行程序时,快门眼镜开始工作,但我只能在屏幕上并排看到两个图像。有人可以帮忙告诉我我做错了什么吗?我相信解决这个问题也可能对其他人有所帮助,因为似乎还没有一个简单的示例如何使用 C# 来做到这一点。
以下是我的代码的战术部分。完整的工程可以在这里下载:http: //koti.mbnet.fi/jjantti2/NVStereoTest.rar
opencv - 立体视觉算法
对于我的项目,应该从相机中分割最近的手部区域,我最初尝试了 openCV 的立体视觉示例。但是,视差图看起来很糟糕,对我来说毫无用处。是否有任何其他方法比 openCV 实现更好并且有一些输出(图像视频)。因为,我的时间有限,我必须选择一种更好的算法并实现它。
谢谢你。