问题标签 [stereoscopy]

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 投票
1 回答
751 浏览

three.js - Three.js StereoEffect 无法应用于 CSS3DRenderer

我正在开发一个 chrome VR 网络应用程序。现在我拼命想弄清楚如何将一个网站渲染到我的立体场景中,其中有一些网格。

所以我有我的网格渲染器,效果很好。以下代码只是相关的片段:

然后我有接收 webgl 渲染器的立体效果渲染器:

接下来是我创建网站渲染器,并将其应用于立体效果:

然后我有正在渲染的场景:

不,我收到的是这样的: 渲染图像

我的网格的立体图像,但网站的非立体图像。问题是当我尝试将 css 渲染器添加到 StereoEffect 渲染器中时,缺少 setViewport 函数(可能还有其他函数)。
我尝试将网站对象添加到 webgl 渲染器,但它不想渲染我的网站,因此将网站对象添加到带有网格的场景中不起作用。

任何帮助是极大的赞赏!

0 投票
1 回答
194 浏览

matlab - 如何从图像目录中为立体网络创建 HDF5 训练数据?

这个问题是指这里回答的一个问题。
公认的答案建议即时创建标签。我有一个非常相似的问题,但需要使用 HDF5。


这是我的prototxt:

如您所愿,我创建了两个单独的数据 HDF5 数据文件。它们由正样本和负样本组成,在同一索引上具有左图像和右图像,它们组合起来是正样本或负样本。labels_left 和 labels_right 是相同的 1 和 0 的 matlab 数组。我之前尝试使用单个标签数组,但 caffe 出现错误,这似乎表明两个进程发生冲突。当更改为标签数组的副本时,可以开始训练。

这是我现在使用的 Matlab 数据创建文件的一部分,数据是 KITTI 数据:

最后小批量的损失是可以接受的,但在测试中仍然太高

请指教。(它可能不起作用)。如果有错误,那可能是非常微妙的。

0 投票
0 回答
171 浏览

java - 增强现实、立体视觉、Android Studio

我正在开发一个增强现实应用程序。我需要在此应用程序上添加立体视觉以与纸板一起使用,但我没有在此代码上添加立体视觉。有人能帮我吗?我有三个班,我在其中放立体镜,怎么做?

0 投票
1 回答
2092 浏览

image-processing - 与不同相机(不同 FOV、视点)拍摄的图像的立体匹配未对齐

我正在尝试获取场景中某些对象的深度,并且我不想使用除相机之外的任何其他传感器(我可以使用两个相机)。

所以,我认为这应该是“立体匹配”的问题,我打算从立体图像中提取视差图来获取深度信息。

但问题是,我有一些限制,例如:

  1. 两个摄像头未对齐。所有 (x, y, z) 位置都不同。
  2. 两台摄像机的 FOV(视野)不同。一个比另一个宽。
  3. 两台摄像机的视角不同。
  4. 两台相机的分辨率不同。

在这种情况下,是否可以正确进行立体匹配?如果是这样,怎么可能?

我知道对于立体匹配,极线几何和基本矩阵非常重要。但据我所知,基本矩阵始终属于一台相机。来自两个相机的两个基本矩阵之间的关系是否可以解决这个问题?

谢谢你。

- - - - - - - - - - - - - - - - - 编辑 - - - - - - - - ---------------------

不同相机、分辨率、视点、FOV下的立体图像

校正后的图像

通过 MATLAB 的 Stereo Camera Calibrator,我得到了 stereoParams,并使用它进行了校正。

但是校正后的图像失真太大,无法得到视差图。

我想知道我走对了,还是不对。

有什么建议吗?谢谢你。

0 投票
1 回答
106 浏览

opengl - 如何在现代 OpenGL 中设置立体渲染?

我习惯了旧式 OpenGL 2.0,其中立体渲染的设置很简单,例如:

  1. 使用 glDrawBuffer (GL_BACK_LEFT) 选择左后缓冲区;
  2. 使用 glMatrixMode() 和 glFrustum() 设置左眼的视锥体
  3. 为左眼视图渲染几何图形。
  4. 对右眼视图重复步骤 1 到 3。

由于现代 OpenGL 中不再有 glMatrixMode() 或 glFrustum() 函数,任何人都可以使用 OpenGL 着色器解释立体设置吗?设置左右眼视图的事件顺序是什么?请注意,我假设 GPU 支持四缓冲区立体声。谢谢你。

0 投票
1 回答
1160 浏览

matlab - 相机到校准图案的距离会影响校准参数吗?

我正在尝试使用立体相机测量从相机到动态物体(例如移动的汽车)的距离。我使用了 7 x 8 正方形的棋盘图案,正方形大小为 89 毫米(约 3.5 英寸)。相机到图案的距离为 212 厘米(约 83.5 英寸)。我正在使用 Python 和 OpenCV

我的问题是:

  1. 从图案到相机的距离对校准参数有很大影响吗?在 Matlab 示例之一中指出,校准过程中从相机到图案的距离应与希望测量的物距1相同。

  2. 我是否应该使用更大的电路板尺寸并增加相机与图案的距离,以便为我的应用获得更准确的结果?

0 投票
1 回答
240 浏览

matlab - 循环在 MATLAB 中构建虚拟视差图像

根据 Suganuma 等的论文,我正在尝试实现从视差图像到虚拟视差图像的均匀变换。人。“一种使用虚拟视差图像的障碍物提取方法”。在完成论文中描述的矩阵计算之后,我得到了一个全局齐次变换矩阵,它只描述了方向 v 上 -27.7 的平移,这是有道理的。

现在,为了进行这种转换,我在 MATLAB 中实现了一个循环:

现在,问题是我得到的虚拟差异没有任何意义,因为它甚至与 B 中描述的转换不对应,正如我所说:

这些分别是视差和虚拟视差:

视差图: 视差图

虚拟差异: 虚拟差异

我整天都在重新检查,我没有发现错误。

0 投票
0 回答
1182 浏览

python - 如何在 MJPG opencv 中从网络摄像头捕获视频

我已经购买了两个Genius facecam 1000x相机并尝试设置立体相机,相机的v4l2-ctl输出如下:

正如您所看到的,支持像素格式 MJPG,并且需要这种像素格式,但是当我尝试从两个网络摄像头捕获视频时,第二个摄像头仍然发生错误,我只能获得 320x240 分辨率的立体视频!我尝试了以下两个但对我不起作用:VIDIOC_STREAMON: No space left on device

  1. /li>
  2. 设置FOURCC为 MJPG 会导致以下错误:


    /li>

我应该怎么做才能以相对好的分辨率让它正确?

PS:我所有的 USB 端口都连接到一个控制器!

0 投票
0 回答
121 浏览

ios - 逆向工程谷歌纸板

我正在为 iOS 构建一个 360 视频查看器,以便更好地了解单视场和立体 360 视频的细微差别。实际上,我正在尝试对 Google Cardboard SDK 的功能进行逆向工程。

我正在进行的代码在这里:https ://github.com/alfiehanssen/ThreeSixtyPlayer

我了解单视场视频和立体视频的基础知识。我想更好地了解显示立体视频所需的客户端配置/转换。

具体分两部分:

  1. Cardboard 可以以立体模式显示单视场视频文件。尽管向每只眼睛呈现完全相同的视频,但每只眼睛的视频视图明显不同。对每只眼睛进行了哪些转变以使其发挥作用?

  2. 对于立体视频(让我们假设顶部/底部布局),变换似乎也应用于每只眼睛的视频视图。应用于每只眼睛的视频视图的转换是什么?

看起来好像视频被歪曲了。每只眼睛的视频的所有侧面都有黑色蒙版,这些蒙版来自哪里/它们是转换的结果吗?

纸板视图的示例屏幕截图:

在此处输入图像描述

0 投票
0 回答
1783 浏览

c++ - 调整 OpenCV 的 SGBM 参数以避免条纹地面

我正在使用 OpenCV 的 SGBM 实现构建视差图。特别是,我使用的是 OpenCV 2.4.9 版。目前,我正在使用以下参数:

但是,结果并没有我需要的那么好: 剥离的地面差异 正如你所看到的,地面出现了条纹,这导致我正在使用的障碍物检测算法出现问题,这是论文快速可靠的障碍物检测和分割 for cross -国家导航。问题是,由于这些条带具有相当恒定的差异,这意味着它们几乎垂直于地面,算法将它们分类为障碍物。

我对平滑参数 P1 和特别是 P2 进行了一点尝试,测试增加 P2 是否可以改善它,但似乎并没有解决问题,所以我只是按照 OpenCV 示例的建议离开了。

这些图像来自 KITTI 数据集,我下载的它们已经被纠正,所以我放弃了错误的校准或相机对齐。

我想知道这是否可能是由于地面没有纹理,尽管我希望不会,因为如果是这样,这意味着我将不得不更改障碍物检测算法。

有任何想法吗?