V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fbxshit
V2EX  ›  问与答

怎么合成两个一样的 usb 摄像头到一个 3D 摄像头?

  •  
  •   fbxshit · 2016-04-08 20:52:08 +08:00 · 2678 次点击
    这是一个创建于 3160 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我买了两个一样的 usb 摄像头,支持 mpeg 的,同时插到树莓派板子上面.

    现在可以分别认出来 /dev/video0 和 /dev/video1,也可以分别用 mjpg-streamer 转发到手机上面看.

    我现在想要合成两个视频流到一个左右 3D 格式,应该怎么做?

    是不是能虚拟一个 /dev/video2,把原来两个 640x480 的图像实时合成到一个 1280x480 的 mjpg 图像从 /dev/video2 里面出来,然后我的 mjpg-streamer 直接调用 /dev/video2 的视频流这样性能是最高的?
    11 条回复    2016-04-18 20:36:14 +08:00
    sennes
        1
    sennes  
       2016-04-08 23:25:15 +08:00
    树莓派没有这方面的硬核(个人了解了一下应该是没有的),所以做实时拼接可能达不到"实时"。
    mpeg buffer 一下拼接之后再压成 mpeg 目测是一种可行的方案,不过应该会有延时。

    没找到树莓派这边软拼接的资料。如果下次发现了再 Update 给您。
    或者直接从 mjpg-streamer 这边直接动手脚?(随口一说)
    sennes
        2
    sennes  
       2016-04-08 23:31:06 +08:00
    不过有个地方我感兴趣的 冒昧问一下 为什么两个摄像头拼接起来就是 3D 的视频呢?
    Satelli
        3
    Satelli  
       2016-04-08 23:38:13 +08:00
    @sennes 用左右 3D 或上下 3D 的方式输出到 3D 显示设备上,(例如 3D 电视)之后借助 3D 眼镜观看或者由电视直接提供裸眼 3D 的显示。
    sennes
        4
    sennes  
       2016-04-08 23:42:28 +08:00
    @Satelli 这个我知道。但是两个摄像头的视频流能直接匹配成 3D 的图像么? 估计还是要做一些处理?
    我之前用两个摄像头直接做 3D 方面的视觉处理误差很大。
    Satelli
        5
    Satelli  
       2016-04-08 23:46:18 +08:00
    @sennes 额,这个就不清楚了,我只是以为拼起来就能一样。
    fbxshit
        6
    fbxshit  
    OP
       2016-04-18 19:12:36 +08:00 via Android
    拼起来用 vr 设备看就是 3d 的,因为我看到网上有人用两个罗技 c310 做的直接挂在 oculusrift 头盔外面的摄像头,可以在头盔里面实时显示外面的 3d 场景,还可以叠加虚拟物品,等于是个 ar 眼镜。
    fbxshit
        7
    fbxshit  
    OP
       2016-04-18 19:18:05 +08:00 via Android
    这人叫 William Steptoe,做的那套东西叫 ar- rift, youtube 上面还有视频,看上去效果不错,但他那个要接电脑的。

    我现在是想双摄像头无线连接到安卓,实时显示 3d 图像就可以,不需要合成的功能。
    fbxshit
        8
    fbxshit  
    OP
       2016-04-18 19:19:22 +08:00 via Android
    我是要在安卓上左右格式的 3d 显示,然后戴 gear vr 或者 cardboard 之类设备观看。
    fbxshit
        10
    fbxshit  
    OP
       2016-04-18 20:31:05 +08:00
    Example 12: Compute Module: stereoscopic vision

    Since stereoscopic vision is disabled by default, to enable it you must specify the --stereoscopic-mode option when loading the driver. Here is a basic example:

    raspberrypi ~ $ uv4l --driver raspicam --auto-video_nr --stereoscopic-mode=side_by_side --encoding=mjpeg --width=2360 --height=720

    With the stereoscopic mode specified above two 1280x720 image captures will be placed side by side in the final video frame; another mode is top_bottom. Other (not mandatory) options affecting stereoscopic vision are --decimate to enable frame decimation and --camera-number to set the primary and secondary camera ports (please refer to the manual for more details).
    fbxshit
        11
    fbxshit  
    OP
       2016-04-18 20:36:14 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:37 · PVG 23:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.