PCL:可视化点云

2024-02-26

我正在尝试使用可视化点云PCL http://pointclouds.org/云浏览器。问题是我对 C++ 很陌生,我找到了两个教程first https://pcl.readthedocs.io/projects/tutorials/en/latest/writing_pcd.html#writing-pcd演示点云的创建和second https://pcl.readthedocs.io/projects/tutorials/en/latest/cloud_viewer.html#cloud-viewer演示点云的可视化。但是,我无法将这两个教程结合起来。

这是我想出的:

#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 * rand () / (RAND_MAX + 1.0f);
  }

  pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer");
  viewer.showCloud (cloud);

  while (!viewer.wasStopped ())
  {
  }

  return (0);
}

但即使这样也无法编译:

error: no matching function for call to   
‘pcl::visualization::CloudViewer::showCloud(pcl::PointCloud<pcl::PointXYZ>&)’

您的错误消息告诉您需要做什么:

error: no matching function for call to ‘pcl::visualization::CloudViewer::showCloud(pcl::PointCloud<pcl::PointXYZ>&)’

因此,请转到 CloudViewer 的文档并查看该成员函数采用哪些参数:http://docs.pointclouds.org/1.5.1/classpcl_1_1visualization_1_1_cloud_viewer.html http://docs.pointclouds.org/1.5.1/classpcl_1_1visualization_1_1_cloud_viewer.html

在那里我们看到需要一个const MonochromeCloud::ConstPtr &cloud不是您传入的原始引用。这是来自 boost 的智能指针的 typedef:

typedef boost::shared_ptr<const PointCloud<PointT> > pcl::PointCloud< PointT >::ConstPtr

因此,当您创建云时,您需要将其包装在这些智能指针之一中,而不是使其成为局部变量。像(未经测试)的东西:

pcl::MonochromeCloud::ConstPtr cloud(new pcl::PointCloud<pcl::PointXYZ>());

然后,当您传入变量 cloud 时,它将具有正确的类型,并且您不会收到报告的错误。您还必须更改您的cloud.foos to cloud->foos.

看着第二个例子 http://pointclouds.org/documentation/tutorials/cloud_viewer.php#cloud-viewer你给予,他们也会这样做:

pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PCL:可视化点云 的相关文章

随机推荐

  • Django 从另一个基于类的视图调用基于类的视图

    我正在尝试调用基于类的视图并且我能够做到这一点 但由于某种原因我没有得到我正在调用的新类的上下文 class ShowAppsView LoginRequiredMixin CurrentUserIdMixin TemplateView t
  • 根据行条件过滤 pandas 列

    我有以下名为 df 的数据框 x1 x2 x3 row1 12 3 4 5 row2 1 3 4 row3 True False True 我想显示所有 row3 值都为 True 的列 很喜欢专栏x1 and x3将在本例中显示 当我想根
  • Laravel:Auth::user()->id 尝试获取非对象的属性

    当我提交表单来添加用户时 出现以下错误 尝试获取非对象的属性 该错误显然位于第一行 Auth user gt id of the following id Auth user gt id currentuser User find id u
  • 扩展 F# 中的枚举类型

    与 F 功能相关的另一个问题称为 类型扩展 http msdn microsoft com en us library dd233211 aspx 在 F 中扩展枚举似乎是不可能的 我用C 扩展方法 http msdn microsoft
  • 提高 Android 相机拍摄照片的质量/清晰度/亮度

    我有一个 Android 应用程序 我使用 Android 相机来拍照 经过一番努力 我设法将我的照片放在我想要的位置以及我想要的方式 最后的问题是图像的质量 当我的预览开始时 一切看起来都非常清晰和出色 但在拍摄照片并显示最终结果后 图像
  • 我可以 #include 定义 DWORD 的最小 Windows 标头是什么?

    我自己有一个小头文件 它声明了几个函数 其中一个函数的返回类型为DWORD 我舍不得拖进去windows h只是为了获得此类型的官方定义 因为该文件很大 并且我的标头将在许多不需要它的源模块中使用 当然 在实践中我知道DWORD只是unsi
  • Datanode 进程未在 Hadoop 中运行

    我使用以下命令设置并配置了多节点 Hadoop 集群本教程 http www michael noll com tutorials running hadoop on ubuntu linux multi node cluster form
  • 使用 ggplot2 >= 2.0 中的贴标器混合空和 bquote-d 刻面标签

    在 2 0 之前 在 ggplot2 中我可以使用element blank and labeller仅标记行或列facet grid like library ggplot2 g lt ggplot mtcars geom point a
  • 如何在 PowerPoint VBA 中模拟 ThisPresentation

    我希望能够从加载项本身的一些 VBA 代码访问 PowerPoint 加载项文件 另存为 PowerPoint 加载项 ppa 的演示文稿 的文档属性 如果它有助于理解问题 我实际上想做的是读取存储加载项版本号的自定义文档属性 以便我可以在
  • 使用 spring security 以编程方式登录用户

    其相反 如何使用 Spring Security 手动注销用户 https stackoverflow com q 5727380 106261 在我的应用程序中我有注册新用户屏幕 它发布到一个控制器 该控制器在数据库中创建一个新用户 并进
  • SSL 证书不起作用 - “无起始行”错误 - Apache2 Ubuntu 16.04.1

    我们正在办公室设置一个新的子域 并使用我们拥有的通配符 SSL 证书 我已经创建了我的密钥和 csr 文件 然后我发送到 csr 文件以获取我们现在拥有的 cer 文件 我将发布我进一步运行的命令 然后 在为我们的新域使用 a2ensite
  • 理解正则表达式 if then 语句

    所以我不确定我是否理解这是如何工作的并且想要a simple explanation to how they work是全部 我可能还差得很远 A pure regex solution is required and I don t kn
  • VBA 中的索引 (Access 2003) - 字段关联

    基于 Microsoft Access 如何知道为索引字段集合创建的字段与 TableDef 字段集合中的等效字段关联 Even in 此 Microsoft 支持页面 https support microsoft com en us k
  • 复制 DOM 元素及其事件在变量中 (jQuery)

    我想复制变量中的 DOM 元素 所以我这样做了 var before someid html 然后我的脚本在这个 someid DOM 中做了很多事情 完成后我像以前一样恢复了 DOM someid html 之前 这工作正常 但问题是我在
  • 响应使浏览器不执行任何操作 - 这可能吗?

    是否有可能做出这样的 HTTP 响应 浏览器会忽略它并继续显示先前显示的页面 我的意思是以下场景 a 用户点击某物 b 一些 POST 发送到服务器 或 GET 但我们还是使用 POST 因为更有趣 c 服务器由于某种原因决定此时不想发送回
  • Python 命令行(参数太少)

    我的 python 系统调用有问题 我已经设置了 python 路径和路径文本 这些命令适用于我的计算机 run py python runWithParamater py parameterExample txt 但如果我跑 runWit
  • gae 错误:AttributeError:“NoneType”对象没有属性“user_is_member”

    class Thread db Model members db StringListProperty def user is member self user return str user in self members and thr
  • 使用 AWS Elastic LoadBalancer 公开 kubernetes 应用程序

    我创建了一个内部 AWS 弹性应用程序负载均衡器 并在 AWS 控制台中将其状态显示为活动 请注意 我使用 jenkins 作业创建了此 ALB 并且在该作业中我指定了我的 AWS EC2 实例服务器 该服务器配置为我的 kubernete
  • Cmake target_link_libraries 未链接我的库

    我将开始声明我在 Cmake 问题上几乎完全愚蠢 我有以下内容CMakeLists txt对于 Kdevelop 4 1 项目 project uart find package KDE4 REQUIRED include KDE4Defa
  • PCL:可视化点云

    我正在尝试使用可视化点云PCL http pointclouds org 云浏览器 问题是我对 C 很陌生 我找到了两个教程first https pcl readthedocs io projects tutorials en lates