首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个点云库支持从单个3d视频流进行解析?

哪个点云库支持从单个3d视频流进行解析?
EN

Stack Overflow用户
提问于 2014-07-22 07:28:56
回答 2查看 531关注 0票数 0

我有一个静态的物体(比如雕像/纪念碑)。我有一架我控制的类似四轴飞行器的无人驾驶飞机。它向我发送单个摄像头720p流。任何PCL库都可以将视频流转换为具有正确深度的点云吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-31 07:12:51

我认为要创建一个点云,你需要一个彩色图像和一个深度图像(也就是depth map)。你使用的相机需要能够构建深度图像,我相信这通常是用红外线完成的。Microsoft Kinect是使用红外线构建深度图像的相机的一个例子。

您可以查看ofxKinect示例以获取更多信息。它给出了一个从kinect生成的点云的示例。

票数 0
EN

Stack Overflow用户

发布于 2014-07-31 15:13:34

从Processing SimpleOpenNI库示例中很容易获得一个点云。

以下是我为在处理过程中从Kinect获取点云而编写的代码:

代码语言:javascript
复制
//Code for Getting Point Cloud

import SimpleOpenNI.*;

import processing.opengl.*;

SimpleOpenNI kinect;

void setup()
{

  size( 1024, 768, OPENGL);

  kinect = new SimpleOpenNI( this );

  kinect.enableDepth();

}

void draw()
{

  background( 0);

  kinect.update();

  //translate( width/2,  height/2, -1000);

  rotateX( radians(180));

 stroke(255);

  PVector[] depthPoints = kinect.depthMapRealWorld();

  //the program get stucked in the for loop it loops 307200 times and I don't have any points output

  for( int i = 0; i < depthPoints.length ; i+=5)
  {

    PVector currentPoint = depthPoints[i];
  if (currentPoint.z < 2000.0)
    {
      point(currentPoint.x,  currentPoint.y, currentPoint.z );
    //print("currentPoint :", currentPoint );
    }
  }

}

你可以让你的纪念碑被Kinect覆盖。但是,如果您需要将RGB输出转换为深度数据,这是不可能的,因为Kinect会向对象投射红外线来计算深度,而这在流式数据中是不可能的。即使您将相机与Kinect一起使用,您也只能使用来自它的RGB流。对于深度来说,使用Kinect的传感器是最好的选择。要获得更好的效果,请使用新的Kinect版本2。干杯!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24876522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档