2012-10-05 38 views
7

适当的出发点是目前有转换在画布视频流转换为3D网格在JavaScript库?什么是在画布上视频转换为3D网格

一个示例情况是将摄像头指向杯子并捕获原始图像,将以前的数据与新数据进行比较以生成视图内对象的边缘轮廓,理想情况下将其转换为最简单的多边形集合并显示第二个画布元素中计算的多边形/模型。

我见过mrdoob三维JavaScript的一些优秀的工作目标文件将在画布上绘制,但我正在寻找捕捉到的原始数据,并尝试生成一个网格。目的是通过套接字将2个用户之间的网格点发送给摄像机视图中当前处于捕获状态的任何对象。

任何帮助表示赞赏。

+1

OBJ-文件已经在3D顶点信息。这在画布上显示非常简单。你想从2D视频生成3D网格?你将如何获得对象的另一个物体侧的深度信息/信息? - 通过图像处理获取物体的轮廓是可能的,但它只能获得2D信息。 – Smamatti

+0

有一个称为视频跟踪有趣的应用程序,要求用户输入勾勒出物体的线条,但非实时虽然很聪明,在插值边缘,同样也有针对Kinect的,对于手势跟踪进行边缘检测的应用,所以我觉得在许多帧的过程中可以比较帧以辨别边界和几何的应用可能是如果可以检测到某些消失线或者一组相关点的运动彼此不同的情况下可能导致我们达到三维坐标的方向。更多的东西以我的方式学习 – MyStream

回答

3

这是一个相当复杂的问题。大多数算法需要2个图像(立体视觉系统)才能识别和处理2d信息为3d对象。这样做与网络摄像头,并支持Javascript是一个相当大的挑战:)

基本上,我认为你将不得不结合一些计算机视觉技术(边缘检测,过滤,3d到2D映射,...)。

下面是一些信息,可能是有用的

计算机视觉JavaScript库 - https://github.com/alex-m/seevee.js/wiki(端口一些众所周知的OpenCV函数) - 可以让摄像头的图像,3D处理很有用,等

轻量级3D库 - https://github.com/mrdoob/three.js/

见这种方法http://www.eng.cam.ac.uk/news/stories/2009/3D_models/

6

这不是一个库,但这里正是你要寻找的技术的演示。

Webcam Mesh

+0

嗨@eyesyes,用于将视觉效果打破成3d渲染概念的摄像头网格看起来很棒。我似乎无法运行它。 Chrome在版本22中死去以访问和运行该示例。然而,它只是捕捉的一部分,我不确定它创建的网格是什么,或者只有像素亮度才能很好地映射到3d对象。我也在寻找一个完整的解决方案,所以我还不能奖励赏金。不过,我鼓励大家检查一下!它看起来很聪明 - 谢谢你! – MyStream

+0

虽然赏金在这里获得,问题仍然完全没有答案,所以这是一个耻辱,它不可能与有弹性的谁问的问题和上面的回答实际上不符合要求的人匹配的答案,但我仍然认为人们应该检查它的兴趣。 – MyStream