c++ - C++ 点云库 PCL。尝试加两点
问题描述
我刚刚开始使用点云库 (PCL)。我包括它,
#include <pcl/point_cloud.h>
并定义三个点,
pcl::PointXY pA, pB, pC;
pA.x = 1;
pA.y = 2;
pB = pA;
为什么 + 运算符没有重载?如果我尝试
pC = pA + pB;
我得到一个编译错误。这似乎是一个基本操作,所以我想当然地认为所有基本操作都会被定义,还是我错过了什么?
我在旧版本的 PCL (1.6) 中找到了一个名为“point_operators.h”的文件。这个文件定义了我想要的基本操作。然而,在我的新版本(1.9)中,这个文件是空的。怎么来的?
谢谢!
解决方案
至于点之间的数学运算,请参阅这个 SO question。
恕我直言,pcl 中的点类型不用于表示矢量,而是用于表示3D 世界中的物理点。将两个物理点加在一起没有多大意义(至少对我而言)。当您将从桌面采样的点添加到从电视采样的点时,您会期待什么?
尽管确实存在点组合,但我想背景并不相同。
推荐阅读
- model-view-controller - JSON 值与超链接连接
- reactjs - 要求图像在 ReactJS 中不起作用,但导入可以
- java - 我如何知道 Gradle 闭包中可以使用哪些方法或属性?
- java - 如何从多个 ArrayList 中创建 JTable?
- python-3.x - pydantic 模块的 Yocto 配方
- visual-studio-code - Visual Studio Code SFTP 插件。重新加载所有打开的文件
- python - 如何使用 python BeautifulSoup 获取表格内容
- git-bash - 为什么我需要使用 git-bash 而不是 cmd?
- vba - 运行时错误“1004”的故障排除:应用程序定义的或对象定义的错误
- google-cloud-shell - 如何强制 Google Cloud Shell 遵守系统键盘布局?