标签: point-cloud-library

使用Visual Studio设置Point Cloud Library

我正在尝试使用Visual Studio的Point Cloud Library.我下载了一体式64位安装程序Visual Studio 10并安装了它们.但是现在我无法在Visual Studio 2010上运行它,我在官方页面上尝试了教程而没有运气.

我想在我的解决方案的属性中添加包含和lib位置,以及.lib文件.

我以前用opencv做过这个,但是对于PCL,我不知道我要添加哪些文件和文件夹.

还有什么.dll文件我必须添加到系统变量的路径.

Cmake不起作用,我不想使用它.

visual-studio-2010 point-cloud-library

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

点云库,两点云的强大注册

我需要找到两个三维点云之间的变换和旋转差异.为此,我正在寻找PCL,因为它看起来很理想.

关于干净的测试数据我有迭代最近点工作,但给出了奇怪的结果(虽然我可能已经错误地实现了...)我有pcl::estimateRigidTransformation工作,看起来更好,虽然我认为会更糟糕的数据噪音.

我的问题是:

这两个云会很吵,虽然它们应该包含相同的点,但会有一些差异.处理这个问题的最佳方法是什么?

我应该在两个云中找到相应的功能开始然后使用estimateTransform吗?或者我应该看一个RANSAC删除异常值的函数?是ICP一个更好的方式去estimateRigidTransform

c++ point-clouds point-cloud-library

16
推荐指数
2
解决办法
1万
查看次数

使用PCL的Cloud Point可视化流

我正在对RGB和深度数据进行一些处理并构建可视化的云点,我目前使用PCL Visualizer并且它工作正常.我希望将可视化工具放在不同的线程中(实时,因此它将重绘全局云点,我尝试了提升线程,但我得到了运行时错误"VTK错误查找表"

任何人都知道如何在不同的线程中可视化云点流?

c++ graphics computer-vision point-cloud-library

12
推荐指数
1
解决办法
9277
查看次数

从pcl :: PointCloud创建一个pcl :: PointCloud :: Ptr

我想知道这是否可行.我有一个功能:

 pcl::PointCloud<pcl::PointXYZRGB> createPointCloud(std::Vector<Nodes> input)
Run Code Online (Sandbox Code Playgroud)

返回点云.我想知道是否可以采用这一点云,并指出它的副本.pcl像这样指向云:

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(new pcl::PointCloud<pcl::PointXYZRGB>)
Run Code Online (Sandbox Code Playgroud)

我试过这样做:

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(createPointCloud(nodeList))
Run Code Online (Sandbox Code Playgroud)

这导致了一个非常明显的错误,即.createPointCloud不会返回指向云的指针.

我也试过这个:

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR = &createPointCloud(nodeList)
Run Code Online (Sandbox Code Playgroud)

还有这个:

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(&createPointCloud(nodeList))
Run Code Online (Sandbox Code Playgroud)

这导致编译错误:"获取临时地址"

是函数返回指针类型的唯一选择还是有办法做我要求的?

编辑:

以下两个答案都是正确的,我已经给Jonathon这个时候第一次得到了正确的答案.

c++ pointers point-cloud-library

12
推荐指数
2
解决办法
2万
查看次数

PCLPointCloud2与PointCloud

我想知道的区别(S)PCL :: PCLPointCloud2PCL ::点云中的点云库(PCL).有一个函数可以从一个转换为另一个,但文档很差.我想知道哪一个更新?

ps(我不是在谈论ROS)

point-cloud-library

12
推荐指数
1
解决办法
1万
查看次数

在C++中删除向量中的3D点的重复

我正在处理点云,即点的向量,作为计算的结果,其包含重复点(高达云的大小的10%).

我的实现是根据x,y和z值对这些点进行排序,然后使用该std::unique函数.然而,生成的云仍然包含重复项,即使排序本身似乎有效.

这是至关重要的代码

bool comparePoint(pcl::PointXYZINormal p1, pcl::PointXYZINormal p2){
if (p1.x != p2.x)
    return p1.x > p2.x;
else if (p1.y != p2.y)
    return  p1.y > p2.y;
else
    return p1.z > p2.z;
}

bool equalPoint(pcl::PointXYZINormal p1, pcl::PointXYZINormal p2){
    if (p1.x == p2.x && p1.y == p2.y && p1.z == p2.z)
        return true;
    return false;
}
void KDsearch::cullDuplePoints(){
    std::sort(points.begin(), points.end(), comparePoint);
    std::unique(points.begin(), points.end(), equalPoint);
}
Run Code Online (Sandbox Code Playgroud)

这里是输出pointcloud(x,y和z坐标)的部分提取:

1.96828 -535.09515 2794.8391
1.96627 -636.95264 2914.0366
1.96627 -636.95264 2914.0366
1.9651 108.77433 2350.9841
1.9651 108.77433 2350.9841 …
Run Code Online (Sandbox Code Playgroud)

c++ point-clouds point-cloud-library

12
推荐指数
2
解决办法
3105
查看次数

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

PCL:可视化点云

我正在尝试使用PCL CloudViewer 可视化点云.问题是,我是很新的C++,我发现两个教程第一示范点云的创建和第二示范一个点云的可视化.但是,我无法将这两个教程结合起来.

这就是我的意思:

#include <iostream>

#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>

int main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ> cloud;

  // Fill in the cloud data
  cloud.width    = 5;
  cloud.height   = 1;
  cloud.is_dense = false;
  cloud.points.resize (cloud.width * cloud.height);

  for (size_t i = 0; i < cloud.points.size (); ++i)
  {
    cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
    cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
    cloud.points[i].z = 1024 * …
Run Code Online (Sandbox Code Playgroud)

point-clouds point-cloud-library

11
推荐指数
2
解决办法
2万
查看次数

任何人都可以解释有组织和无组织点云之间的区别吗?

有组织的点云和无组织点云之间有什么区别?

我是否正确地认为点云是[x,y,z]值的一列?如果有组织或无组织的点云的结构有什么不同呢?

它如何影响后续处理步骤,如过滤,正常估计,注册等?

谢谢,赛

point-clouds point-cloud-library

11
推荐指数
1
解决办法
8482
查看次数

在Ubuntu 16.04上编译PCL 1.7,CMake中的错误生成了Makefile

我正在尝试在Ubuntu 16.04上运行PCL 1.7(点云库,而不是其他pcl).我最终希望用于C++的东西,但是现在我只是想让这些例子运行起来.我正在使用Ubuntu(GNU 5.3.1)和Cmake版本3.5.2附带的默认编译器.我一直在关注PCL网站上的指示(这里这里),但是在让Cmake构建它想要构建的东西后,我现在停留在使用'make'命令的位置.这是我得到的错误

[ 50%] Building CXX object CMakeFiles/pcd_write.dir/pcd_write.cpp.o
<command-line>:0:15: warning: missing whitespace after the macro name
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'pcd_write'.  Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pcd_write.dir/all' failed
make[1]: *** [CMakeFiles/pcd_write.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

当我正在建造东西时,Cmake也给了我警告,那些就在这里.他们不会阻止它运行,但它们可能是相关的.

-- Found OpenNI2: /usr/lib/libOpenNI2.so  
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png …
Run Code Online (Sandbox Code Playgroud)

c++ ubuntu makefile cmake point-cloud-library

11
推荐指数
2
解决办法
1万
查看次数