【问题标题】:Simulation of computer vision data sets计算机视觉数据集的模拟
【发布时间】:2013-10-26 10:26:24
【问题描述】:

我正在研究在计算机视觉应用中使用多个摄像头。例如。房间的每个角落都有一个摄像头,任务是人类跟踪。我想模拟这种环境。我需要的是:

  • 能够定义动态 3D 环境,例如房间和一个移动的物体。
  • 将摄像头放置在不同位置并获取每个摄像头的模拟数据集的选项。

有人有这方面的经验吗?我检查了搅拌机 (http://www.blender.org),但目前我正在寻找一种更快/更容易使用的解决方案。

您能否指导我使用类似的软件/库(最好是 C++ 或 MATLAB)。

【问题讨论】:

    标签: c++ matlab computer-vision augmented-reality


    【解决方案1】:

    您可能会发现 ILNumerics 完全符合您的需求:

    http://ilnumerics.net

    【讨论】:

      【解决方案2】:

      如果我做对了!您希望在环境的不同位置模拟来自多个摄像头的摄像头馈送。
      我不知道任何网站或现成可用的解决方案,但这是我将如何进行的:
      获取动态环境的 3d 点云(请参阅 Kinect 3d slam benchmark datasets)或使用 Kinect 生成您自己的点云(希望您拥有 Xbox kinect)。

      获得 PCL 点云格式的 kinect 点云后,您可以模拟来自各种摄像机的视频输入。
      像这样的伪代码就足够了:

      #include <pcl_headers>
      
      //this method just discards all 3d depth information and fills the pixels with rgb values
      //this is like a snapshot in the pcd_viewer of pcl(point cloud library)
      makeImage(cloud,image){};
      
      pcd <- read the point clouds
      camera_positions[] <- {new CameraPosition(affine transform)...}
      
      for(camera_position in camera_positions)
          pcl::transformPointCloud(pcd,
                                   cloud_out,
                                   camera_position.getAffineTransform()
                                  );
      //Now cloud_out contains point cloud in different viewpoint
          image <- new Image();
          make_image(cloud_out,image);
          saveImage(image);   
      

      pcl 提供了一个函数来转换给定适当参数的点云pcl::trasformPointCloud()
      如果您不想使用 pcl,那么您可能希望检查 this post ,然后执行其余步骤。

      【讨论】:

        猜你喜欢
        • 2011-07-25
        • 2018-11-07
        • 1970-01-01
        • 2011-10-18
        • 2017-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-08
        相关资源
        最近更新 更多