标签: point-clouds

11
推荐指数
0
解决办法
4052
查看次数

opengl 3d点云从x,y,z 2d数组渲染

在c ++(vs2008)中使用openGl在3d点云显示上需要一些指导.我正在尝试用纹理做一个3d点云显示.我有3个2D阵列(每个相同大小1024x512)代表每个点的x,y,z.我想我正走在正确的轨道上

glBegin(GL_POINTS);
for(int i=0; i<1024; i++)
{
   for(int j=0; j<512; j++)
   {
       glVertex3f(x[i][j], y[i][j], z[i][j]);
   }
 }    
}    
glEnd();
Run Code Online (Sandbox Code Playgroud)

现在这将加载缓冲区中的所有顶点(我认为),但从这里我不知道如何继续.或者我在这里完全了.

然后我有另一个2D数组(相同大小),包含我想在3D点云和显示器上用作纹理的颜色数据(0-255的值).

c++ opengl 3d point-clouds

10
推荐指数
1
解决办法
6022
查看次数

Leap Motion点云

我们如何在Leap Motion API中访问点云?导致我购买它的一个功能是他们的促销视频中的点云演示,但我似乎找不到有关它的文档,论坛上的用户回复似乎好坏参半.我只是错过了一些东西吗?

我希望将Leap Motion用作一种廉价的3D扫描仪.

point-clouds leap-motion

10
推荐指数
1
解决办法
8860
查看次数

Python - 显示3D点云

我有一个包含人脸3D点云的.PLY文件:我想绘制它并用Python可视化它.

我的.PLY文件只包含顶点和非面.

你能否指出我一个简单的Python库,它将负责绘制3D点云,以便我可以想象它?

重要的是要注意我对绘制MESH不感兴趣,而只是POINT CLOUD.

任何帮助将非常感激.

python 3d ply point-clouds point-cloud-library

10
推荐指数
3
解决办法
3万
查看次数

最小包围球的弹跳泡算法

我对Bouncing Bubble算法感兴趣,找到一组点的近似最小包围球.

我理解这个基本概念:" 每次发现球外的一个点时,球都会向它移动并同时增加半径.每一步的增长都是为了不超过最佳半径而设计的,因此,半径越来越接近最佳状态. " 在此输入图像描述

然而,我无法在网上找到任何更具体的信息.如何计算增长?转向新点的距离有多远?

我正在寻找一个示例实现或足够的信息来实现我自己的解决方案.

language-agnostic algorithm 3d geometry point-clouds

9
推荐指数
1
解决办法
2989
查看次数

向观众添加两个不同的点云(点云库(PCL))

我刚刚开始使用伟大的点云库,并希望在一个观察者中显示两个点云,但每个点都有不同的颜色.

当我使用一个点云对象(指针?!)时,它工作正常,但如果我想添加第二个,只有第二个将显示在查看器中.

我正在使用pcl 1.6版,并且在本教程中非常类似.
也许你们有一个建议.

相关的代码段如下.提前致谢!!!

  boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer_two_clouds (new pcl::visualization::PCLVisualizer("3D Viewer"));
  viewer_two_clouds->setBackgroundColor(0,0,0);

     // cloud: green / cloud2: red
  pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB> single_color1 (cloud, 0, 255, 0);
  pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB> single_color2 (cloud2, 255, 0, 0);

  //add both
  viewer_two_clouds->addPointCloud<pcl::PointXYZRGB> (cloud, single_color1, "sample_cloud_1");
  viewer_two_clouds->addPointCloud<pcl::PointXYZRGB> (cloud2, single_color2, "sample_cloud_2");

  // set coordinateSystem and init camera
  viewer_two_clouds->addCoordinateSystem(1.0);
  viewer_two_clouds->initCameraParameters();

  while(!viewer_two_clouds->wasStopped())
  {
      viewer_two_clouds->spinOnce();
      boost::this_thread::sleep (boost::posix_time::microseconds(100000));
  }

  viewer_two_clouds->close();
Run Code Online (Sandbox Code Playgroud)

c++ point-clouds point-cloud-library

9
推荐指数
1
解决办法
6821
查看次数

包含x%点的最小边界球体

给定3D点云,如何找到包含给定百分点的最小边界球?

即如果我有一个带有一些噪声的点云,并且我想忽略5%的异常值,如果我不知道哪些点是异常值,我怎么能得到包含95%剩余点的最小球体?

示例:我想找到绿色球体,而不是红色球体:

在此输入图像描述

我正在寻找一个相当快速和简单的算法.它不必找到最优解,合理的近似也很好.

我知道如何计算100%点的近似边界球,例如使用Ritter算法.

如何将此推广到找到包含x%点的最小球体的算法?

language-agnostic algorithm 3d geometry point-clouds

9
推荐指数
1
解决办法
941
查看次数

用于查找点集子集的良好算法

我正在尝试找到合适的算法来搜索较大集合中的2D点的子集.一张图片胜过千言万语,所以:

在此输入图像描述

有关如何实现这一目标的任何想法?请注意,转换只是旋转和缩放.

似乎最紧密的问题是点集注册 [1].我正在试验CPD和其他刚性和非刚性算法的实现,但是它们在更大的点集中寻找小子集似乎表现不太好.

另一种方法可能是使用星跟踪算法,如[2]中提到的Angle方法或更强大的方法,如[3].但同样,它们似乎都适用于大型输入集和目标集.我正在寻找不太可靠但更简约的东西......

谢谢你的任何想法!

[1]:http://en.wikipedia.org/wiki/Point_set_registration

[2]:http://www.acsu.buffalo.edu/~johnc/star_gnc04.pdf

[3]:http://arxiv.org/abs/0910.2233

algorithm pattern-matching computer-vision point-clouds

8
推荐指数
1
解决办法
2244
查看次数

如何读取/转换stanford bunny .ply-files的范围图像?

我想阅读斯坦福兔子的未重建数据.点数据存储为多个范围图像,必须将其转换为组合成一个大点云,如README中所写:

These data files were obtained with a Cyberware 3030MS optical
triangulation scanner.  They are stored as range images in the "ply"
format.  The ".conf" file contains the transformations required to
bring each range image into a single coordinate system.
Run Code Online (Sandbox Code Playgroud)

这是.conf文件:

camera -0.0172 -0.0936 -0.734  -0.0461723 0.970603 -0.235889 0.0124573
bmesh bun000.ply 0 0 0 0 0 0 1
bmesh bun045.ply -0.0520211 -0.000383981 -0.0109223 0.00548449 -0.294635 -0.0038555 0.955586
bmesh bun090.ply 2.20761e-05 -3.34606e-05 -7.20881e-05 0.000335889 -0.708202 …
Run Code Online (Sandbox Code Playgroud)

3d boost quaternions point-clouds ply-file-format

8
推荐指数
2
解决办法
886
查看次数

找到2D点云的内圆/椭圆

我有一堆2D点.你可以在左边的图片上看到它们.它们形成一些带有几个兔子耳朵的戒指.我的目标是找到大的内循环/椭圆,你可以在右侧看到.

在此输入图像描述 在此输入图像描述

什么样的算法对这种情况有用.

我尝试了RANSAC算法的一种变体(取5个随机点,形成一个椭圆,确定一个分数并重复).我以某种方式设计了评分函数,椭圆内部的点得到了很多负点,并且在外面指向,但非常接近得到很多积极点.但结果并不乐观.算法找到了环,但我得到了一些环的随机椭圆,而不是我想要的大内椭圆.

那里有什么好的策略吗?

algorithm geometry point computational-geometry point-clouds

8
推荐指数
1
解决办法
1044
查看次数