问题标签 [point-cloud-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-7 - 使用 CMakeLists 文件使用 QtCreator 编译 PCL 代码示例
我正在尝试使用CMakeLists.txt文件使用QtCreator编译PCL示例。FindPCL.cmake文件(从此处获取:最后一个附加文件)位于源文件的同一目录中。
我的CMakeLists.txt文件是:
我要编译的代码是这样的:
我还在我的CMakeLists.txtPCL_DIR
中将var设置为指向 PCL 安装目录,如底部的 PCL 教程Using PCL in your own project中所述。
最后,我得到的错误是:
任何想法?提前致谢。
PS:在CMakeLists文件中,我指向CMake二进制文件CMAKE_MODULE_PATH
的目录。那正确吗?
PS2:我正在使用 MingW 编译器。
PS3:SO 是 Windows 7 64 位。
qt - 我应该如何在 QT4 中使用带有 qmake 而没有 cmake 的 PCL
我刚开始使用点云库 (plc),但是在尝试将此库集成到 Windows 下的 QT4 项目中时遇到了很多问题(使用 MSV 2010 编译器)。
主要问题是将 PCL 与 qmake 和 QT4 一起使用。我对这种实现没有太多经验。
我的第一个目标是集成和运行 PCL 可视化器。谢谢你的帮助!帮助我的最好方法是向我展示一个可运行的 *.pro 文件,其中包含所有添加的 PCL 包括以及库。
c++ - 提升与 Q_FOREACH (Qt) 和 moc 生成的 foreach 冲突?
我有一个使用 Qt 和点云库 (PCL) 等库在 Vs 2008 中编辑的程序。
PCL 有一个包含 boost 的 3rd 方库。
但是编译后出现了一些错误:
1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926) : 错误 C3083: 'Q_FOREACH': '::' 左边的符号必须是类型 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926) : 错误 C2039: 'tag' : is not a member of 'boost' 1>C :\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926):错误 C2061:语法错误:标识符 'tag' 1>C:\Program Files\PCL 1.5.1\ 3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399):错误 C3083:“Q_FOREACH”:“::”左侧的符号必须是类型 1>C:\Program Files\PCL 1.5。 1\3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399):错误 C2039:“标签”:不是 'boost' 的成员 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399):错误 C2061:语法错误:标识符 'tag' 1> C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254) : 错误 C3083: 'Q_FOREACH': '::' 左边的符号必须是一个类型1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254) : error C2039: 'tag' : is not a member of 'boost' 1>C:\ Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254):错误 C2061:语法错误:标识符 'tag' 1>C:\Program Files\PCL 1.5.1\3rdParty\ Boost\include\boost/multi_index/random_access_index.hpp(1012):错误 C3083:'Q_FOREACH':'::' 左侧的符号必须是类型 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/random_access_index.hpp(1012):错误 C2039:'tag ' : 不是 'boost' 的成员 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/random_access_index.hpp(1012) : 错误 C2061: 语法错误: 标识符 'tag'
对于第一个问题,源文件中的错误位置是:
我认为这可能表明Q_FOREACH
与 boost foreach 的冲突。
但是我不知道如何解决这个问题?
qt4 - 我需要哪些 PCL 库来编译 QT4 项目
我正在寻找我必须在 QT4 项目中链接的 PCL 库。
linux - 告诉 Cmake 在哪里可以找到我从源代码构建的库
我想在 Ubuntu 中从源代码构建PCl 1.7库,因此我从源代码下载并构建了它的一些依赖项:VTK 5.8、Boost 1.51.0和FLANN 1.7.1。
我已将它们构建在自定义目录中。它们都存储在目录/home/c/pkg下。该目录中的结构是:
对于升压:
- 提升-1.51.0
- build:我告诉bjam工具使用这个目录进行安装。这是boost/bin.v2文件夹。
- 包括:头文件。
- lib:.a和.so对象。
对于 VTK:
- VTK-5.8.0
- build:执行CMake的地方。
- 包括:头文件。
- lib:共享对象。
对于弗兰:
- 法兰-1.7.1
- build: CMake在这里执行。
- 包括:头文件。
- lib:共享对象。
- 分享:文档。
OpenNI或OpenSceneGraph等其他依赖项已从源代码构建并安装在系统范围内(到 /usr/...)目录。
我已经用一个小程序测试了安装,我可以编译并链接到它们。所以,一切正常:)
继续之前的注意事项:我使用 Synaptics 工具在系统范围内安装了这些库的以前版本,例如boost-1.4或pcl-1.6 。我想保留它们,因为我只测试较新的版本。这就是我在该自定义位置构建库的原因。
问题是当我想编译PCL 1.7时,默认情况下,CMake只识别系统范围内安装的库。那么,我怎样才能告诉CMake使用我从源代码构建的较新的库呢?
谢谢你的时间!。
c++ - 从 C++ 文件写入数据(点云库)
我正在使用点云库获取深度图,然后每秒左右将 PCD 文件写入内存,以便其他程序可以获取它。
我让程序使用可视化器正确渲染深度图,除了实际写入文件的一行外,它都可以正常工作。
这是我的代码:
这是我在尝试 cmake 文件时遇到的错误:
computer-vision - PCLVisualizer 未保持打开状态
我有以下代码来估计和显示点云中点的法线向量:
但是,当我运行它时,PCLVisualizer 在屏幕上闪烁,然后程序终止。我不知道为什么它不留下来。如果我只使用 CloudViewer 来显示点云(而不是法线),那么它可以正常工作并保留在屏幕上。
c++ - 如何判断点云所在的单位?
我正在使用从 Kinect 图像创建的点云文件数据集。有没有办法知道轴的单位是什么,即一个点(0.003, 0.004, 0.04)
是米、厘米等?
我正在尝试使用setRadiusSearch
pcl 中的方法从局部补丁估计表面法线,但这允许我们以米为单位指定半径,所以我需要知道点云的单位。
c++ - 如何围绕轴旋转点云?
我有一个深度图像的点云,它是用相机在水平上方 30 度(在 z 轴上旋转 30 度)拍摄的。我想将所有点转换回它们的位置,就好像相机处于 0 度一样,我相信我可以使用以下旋转矩阵来做到这一点:
但是,当查看转换点云的 pcl 方法时,我发现了这一点:
但是为什么它是一个 4x4 矩阵而不是上面的 3x3 旋转矩阵呢?
point-cloud-library - C++ 程序无法在“应用程序无法正确启动 (0xc000000d)”的情况下运行
我在 Windows 7 中使用 Visual Studio 2010,我正在运行使用 pcl 头文件的正常分发代码。整个代码在 cpp 中。在调试时,我在新窗口中收到应用程序错误“应用程序无法正确启动 (0xc000000d)。单击确定关闭应用程序”。当我单击确定时,窗口关闭并且程序停止运行。在输出选项卡中,显示无法加载或找不到 pdb 文件。
按照步骤我创建了 Visual Studio 项目
- 下载了 pcl 主干版本,它只包含正常分布的头文件
- 使用 cmake,我创建了安装 pcl 的安装 Visual Studio 项目
- 创建 INSTALL 项目后,使用 Visual Studio 安装 pcl 头文件
- 再次使用 cmake,我创建了使用已安装 pcl 头文件的 Normal 分发项目
在运行正态分布项目时,我收到上述应用程序错误。我无法找到问题所在