问题:在Android项目中运行PCL库
我已经编译了PCL-Superbuild文件夹,如这些链接: 链接1: https://hcteq.wordpress.com/2014/07/14/compiling-pcl-for-android-indroid-in-windows-cmake-gui/# 链接2: http://www.hirotakaster.com/weblog/how-to-build-pcl-for-android-memo/ 成功完成.但是,我不知道如何在项目中使用图书馆,有人可以详细说明吗? 我正在尝试在 https://github.com/roomplan中运行代码/tango-examples-java.git ,带有pcl One的点云,我尝试编写一个android.mk文件,但我有字段. 注意到,我将Android Studio与NDK一起使用,Windows 8用作运行操作系统. 编辑: 我已经解决了与PCL链接到项目的问题,图书馆已经认识到项目,并且项目成功
4 2024-02-17
编程技术问答社区
使用PCL对3D点云进行升频
i具有3D模型的稀疏点云.我需要填充点云.换句话说,我需要为3D点云的表面重建命中示例云. 我遵循 this 链接,但无法理解该方法. 有一个简单的方法吗? 预先感谢. 解决方案 使用点云库的一些替代资源在以下链接上可用: http://pointclouds.org/docultations.org/documentation/tutorials/resampling.php 我建议从那里开始.请注意,该代码仅调用点云库中MLS的实现.您将由您播放参数并在必要时调查代码.
6 2024-01-08
编程技术问答社区
将点云转换为深度/多通道图像
我有一个使用立体声摄像机扫描平面表面生成的点云.我已经生成了诸如正常,FPFH等的功能,并使用了我想在PointCloud中对区域进行分类的信息.为了启用更传统的CNN方法,我想将此点云转换为OpenCV中的多渠道图像.我的点云塌陷到XY平面,并与X和Y轴对齐,以便可以为图像创建一个边界框. 我正在寻找有关如何从点到像素的映射进一步进行的想法.具体来说,我对图像大小以及如何使用适当的数据填充每个像素感到困惑. (将平均重叠点,空的点相应地标记).由于这是一个无组织的PointCloud,因此我没有相机参数可以使用,而且我猜PCL的范围类别在我的情况下无法使用. 任何帮助将不胜感激! 解决方案 首先创建一个预定尺寸的空cv ::垫子.然后迭代该垫子的每个像素,以确定应采取的值. 这是一些代码,可以做类似于您所描述的代码: cv::Mat makeImageFromPointCloud(pcl::PointCloud::Ptr
2 2024-01-08
编程技术问答社区
当使用迭代最接近点(ICP)时,如何在点云库(PCL)中标记NULL数据
i正在尝试使用迭代的最接近点(ICP)算法集成在 Point> Point Cloud cloud库(PCL)中的算法.我收到一个错误报告,说它找不到足够的通信点.我已经放松了参数的条件:setEuclideanfitnessepsilon(-1.797e+5),setMaximumitiations(40)和setransacitiaterations(2000),仍然存在相同的问题.要保持适当的对准,因此在这方面的任何帮助也将不胜感激) 我怀疑这个问题与我在云中有许多空数据点有关,我已经标记了值null(0).使用PCL时做得正确吗? PCL是否有零标准值?我显然不希望算法在尝试对齐数据集时考虑这些零点. 感谢您的帮助 解决方案 如果您使用的是PCL,则无效数据的默认值不是null,而是NAN.因此,如果要将一个点标记为无效的点,则应首先包含文件,然后将位置设置为'std :: numeric_limits :: quiet_nan()'.通常像这
4 2024-01-08
编程技术问答社区
从许多二维图像中生成点云
从我的有限的了解点云的工作方式中,我认为应该能够从对象外部的一组2D图像中生成点云.我遇到的问题是,我似乎找不到任何如何生成这种点云的例子. 解决方案 通常,来自2D图像序列的3D形状重建是一个困难的问题.它的范围从困难到非常困难,具体取决于有关相机的信息量以及与对象和场景的关系.那里有很多信息:尝试搜索" 3D重建图像序列"或" 3D图像重建转盘"表". 在这里这是一篇论文,提供了一个很好的摘要,可以很好地概述该过程及其挑战. 本文很好(它引入了" Ransac" - 另一个不错的搜索关键字). 这种链接在面对面的问题中遇到问题,但理论是理论的问题,可以应用于此问题. 请注意,3D点的解释取决于相机的知识外部和当既不知道外在的或内在的参数时,3D重建是准确的,即无法确定相对大小/距离,但绝对尺寸/距离尚不清楚).当已知两组相机参数时,已知3D点的比例,方向和位置. opencv文档 很好地涵盖了相机校准的概念. 这个链接, this link 和此链接也很好. 其他
14 2024-01-08
编程技术问答社区
从一组点进行C++平面内插
我正在用PCL,点云,库中的C ++编程. 我的问题是:计算某些点的方差,但仅相对于垂直轴相对于平面.我会解释自己: 所以我正在做的是将点云通过表面平滑度分为段(使用 noreflow noreforler ">细分).对于每个段(从点到平面等的距离). 因此,我知道3D中存在二次或样条插值,但是我不太擅长,我thougth应该有一个图书馆可以执行Aldready.但是,我发现的大多数都不计算/返回平面方程,所以我不确定如何做. 任何帮助都会受到赞赏,欢呼. 解决方案 您需要为此的基础向量...因此,让N成为正常的飞机.要插入飞机,您需要2个基础向量U,V在您的飞机内部,一个起点P0属于该平面... 假设我们知道N,P0,因此可以通过利用交叉产品来计算U,V: // U is any vector non parallel to N U = (1.0,0.0,0.0) if (|dot(U,N)|>0.75) U = (0.0,1.0,0.0) //
6 2024-01-08
编程技术问答社区
点云的一致法线计算
是否有Python或C ++的库能够以一致的方式估算点云的正态? 以一致的方式,我的意思是,正常的方向在表面上保存在全球范围内. 例如,当我使用Python Open3D软件包时: downpcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid( radius=4, max_nn=300)) 我得到了不一致的结果,其中一些正态在内部指向内部. 非常感谢 解决方案 如果您知道从每个点捕获的位置的观点,则可以用来定向正态. 我认为不是这样 - 因此,考虑到您的情况,这似乎是水密和均匀采样的,网格重建是有希望的. pcl库在 尽管简单,但它们应该足以产生一个连贯的网格. 有一个网格后,每个三角形都定义了一个普通(交叉产品).重要的是要注意,网格不仅仅是独立面孔的集合.脸连接在一起,这种连通性在网格上实现了连贯的方向. pcl::PolygonMesh是" 一
6 2024-01-08
编程技术问答社区
Python-显示3D点云
我有一个.ply文件,其中包含一个3D点云:我想在Python中绘制它并将其可视化. .ply文件仅包含顶点而不面对. 您能否指示我一个简单的python库,它将照顾绘制3D点云? 重要的是要说我对绘制网格不感兴趣,而只是点云. 解决方案 对于任何想知道简单方法 to 读取和显示python中的ply点云的人我回答我自己的问题,报告我发现我发现的是什么在我的情况下,最好的解决方案. 打开CMD和类型: pip install open3d 这将在计算机上安装Open3D,然后您只需执行以下示例脚本即可读取和显示您的ply点云: from open3d import * def main(): cloud = io.read_point_cloud("output.ply") # Read point cloud visualization.draw_geometries([cloud]) # Visualize p
12 2024-01-08
编程技术问答社区
Cmake无法找到Boost
我试图制作pcl示例项目.在这里CMAKE构建.但是Cmake给出了以下 的错误 Could NOT find Boost CMake Error at C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:38 (message): common is required but boost was not found Call Stack (most recent call first): C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:346 (pcl_report_not_found) C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:491 (find_external_library) CMakeLists.txt:5 (find_package) 我在 c:\ program Files \ pcl 1.5.1
8 2023-12-07
编程技术问答社区
包含 "pcl_visualizer.h "时出现错误LNK2001
我想使用点云图形可视化点云.我已经包括: #include #include #include #include #include 没有任何问题,但是当我添加 时 #include 对于我的代码,我收到了一个LNK2001错误. Fehler 51 error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __cdecl pcl::visualization::PCLVisualizer::FPSCallback::Execute(class vtkObject *,unsigned
6 2023-11-25
编程技术问答社区
如何在PCL中实现TOF-Sensor数据序列的可视化(用Qt)?
我有这个TOF传感器,我想将传感器的数据可视化为QT中的点云.我将数据转换为pcl::PointCloud,现在我想可视化它. 每当创建图片时,传感器的API都会发出图片.我会将其发送到QVTKWidget以可视化它.然后我尝试了这个代码段(我从在这里): pcl::visualization::PCLVisualizer pvis ("test_vis", false); // 'false' prevents PCLVisualizer's own window to pop up pvis.addPointCloud(pc); // pc is my point cloud vtkSmartPointer renderWindow = pvis.getRenderWindow(); widget.SetRenderWindow(renderWindow); 但似乎这仅是为了可视化一个稳定的 poi
6 2023-11-25
编程技术问答社区
在vs2012中构建pcl时,C++ CMake FLANN失败了
尝试在Windows 8.1中的VS2012上构建PCL,以便我可以尝试将Windows V2传感器的Kinect集成,但是我似乎遇到了一堆我不知道该怎么办的CMAKE错误.这部分是因为我对Cmake并不熟悉,所以我关注教程 for lann: 尝试在VS2012中构建安装时(这甚至不是陷入其他构建错误,但让我们从这里开始)我得到: 错误21错误C2228:'.serialize'的左侧必须具有 class/struct/Union D:\ Flann-1.8.4-Src \ Flann-1.8.4-Src \ Src \ src \ cpp \ flann \ utial \ utial \ serialization.h 第18行:type.serialize(ar);错误24错误LNK1181:无法 打开输入文件 '.. \ lib \ preasure \ flann.lib'd:\ flann-1.8.4-src \ flann-1.8.4-src \ build
4 2023-11-25
编程技术问答社区
除了PCL(点云库),VSCode C++的IntelliSense工作正常。
因此,已经有很多有关VSCODE IntelliSense的问题>, que2 , que3 等.不为STL工作;等等. 另一方面,就我而言,我已经在使用vscode 如果您熟悉PCL,那么必须知道它的大多数语法太大.而且,由于Intellisense不起作用,如果您在输入每个字符时不关注,例如,例如. pcl::PointCloud::Ptr point_cloud_ptr (new pcl::PointCloud); 实际上,即使是这些变量和函数也无法使用的自动完成 - 即,从上面的示例中,我必须每次使用它时都可以手动键入point_cloud_ptr的每个字符. 那么,我该如何解决?或PCL? 不可能 注意:我在我的 ubuntu 16 以及 ubuntu 18 上都面对这个问题.我已经使用sudo apt install libpcl-dev安装了PCL,并且标题文件位于/usr/inc
2 2023-11-25
编程技术问答社区
使用Visual Studio 2017的点云库
我使用Microsoft Visual Studio 2017使用Point Cloud库. 我已经安装了[pcl-1.8.1- allinone-msvc2017-win64.exe],我遵循了上述步骤 在这里.将其链接到我的Visual Studio 2017项目. 我的问题是,Visual Studio没有找到我需要的库的标题或源文件. 我遇到的错误如下: [致命错误C1083:无法打开包括文件:'pcl/io/pcd_io.h':没有这样的文件或目录] 要更确切地解决我的问题,我需要包括三个PCL标头文件,以便运行此迭代的最接近点教程 我遵循以下步骤将PCL包括在我的项目中: 在项目属性/配置属性/VC ++目录/Include Directories字段中添加了Include Directories - 在这里,我指定了通往我的PCL/Include Directory的路径,所有第三方都包括Directories(PCL/3RDDPARTY)
2 2023-11-24
编程技术问答社区
用Visual Studio设置点云库
我试图将点云库与Visual Studio一起使用.我下载了多合一的64位安装程序,Visual Studio 10并安装了它们.但是现在我无法在Visual Studio 2010上运行它,我尝试了官方页面上的教程,没有运气. 我想在我的解决方案的属性中添加包含的和lib位置,并将.lib文件带有.lib文件. 我以前曾使用OpenCV进行此操作,但是对于PCL,我不知道要添加哪些文件和文件夹. 也要添加到系统变量路径的.dll文件. cmake不起作用,我更喜欢不使用它. 解决方案 您必须通过 project properties/configuration properties/vc ++目录/include Directories 字段添加Include目录字段 - 在这里,您可以为您的PCL/include目录指定路径和所有第三方都包括目录(请参阅PCL/3rdParty文件夹) 您必须在同一设置页面上添加库目录( Library Di
6 2023-11-23
编程技术问答社区
Cmake无法为Visual Studios 10 amd64配置项目
我正在尝试让CMAKE为X64 Architecture创建一个MSVC 10 Express Edition项目.我已经安装了MSVC 2010 Express和Windows SDK 7.1. 如果我正常启动cmake,我可以创建一个32位项目,但是它无法进行64位项目.我还尝试了从Windows SDK命令提示中启动CMake(Cl CMD映射到X64版本),但是以下内容仍然失败. Found Windows SDK v7.1: C:\Program Files\Microsoft SDKs\Windows\v7.1\ Check for working C compiler using: Visual Studio 10 Win64 Check for working C compiler using: Visual Studio 10 Win64 -- broken CMake Error at C:/Program Files (x86)/CMake 2.8/sh
22 2023-11-20
编程技术问答社区
在Ubuntu 16.04上的点云库(PCL)基础教程cmake和make错误
我一直在尝试使PCL(1.8)在我的系统上正常工作(Ubuntu 16.04),但我正在努力甚至可以获得基本的工作教程.我无法安装预先构建的 binaries 由 pointclouds.orgss.orgs.org so So提供取而代之的是从 帖子并使用本机我开始遇到 this 问题.我自己使用符号链接修复了其中的一些,以纠正通过重命名打破的路径,还安装了我可以的丢失的软件包.但是我无法成功创建可用的makefile. 我正在尝试关注 tutorial从 pointclouds.org ,我可以确保一切都起作用. 从运行cmake输出: -- The C compiler identification is GNU 4.9.3 -- The CXX compiler identification is GNU 4.9.3 -- Check for working C compiler: /usr/bin/cc -- Check for working C compi
22 2023-11-02
编程技术问答社区
PCL(点云库)1.7在Ubuntu 16.04 LTS上构建错误
我将Ubuntu版本从14.04 LTS更新为16.04 LTS 并在利用Point Cloud库的项目时遇到了问题. (过去在Ubuntu 14.04上运行良好,我与QTCreator一起构建项目) 我的警告消息是: 警告:libboost_system.so.1.54.0,需要/usr/lib/gcc/x86_64-linux-gnu/5/../../../../../../../../lib/lib/libpcl_common.so,可能发生冲突使用libboost_system.so.1.58.0 警告:libboost_thread.so.1.54.0,需要/usr/lib/gcc/x86_64-linux-gnu/5/../../../../../../../lib/lib/libpcl_common.so,可能发生冲突使用libboost_thread.so.1.58.0 警告:libboost_filesystem.so.1.54.0,需要/usr
8 2023-11-02
编程技术问答社区
从pcl-1.5移植到pcl-1.7
我正在使用ubuntu14.04.我有一个用pcl-1.5编写的代码.我现在想在pcl-1.7中运行它.它给出了很多汇编错误. 有没有办法将我的类和功能从pcl-1.5移植到pcl-1.7? 解决方案 我了解您要在安装PCL 1.7时在PCL 1.5上构建项目.这个有可能.我假设您是从源安装PCL 1.5,然后构建它,以便以构建目录结束.这些说明含糊不清,因为自从我完成此操作已经有一段时间了,但是它们在这里:在项目中,您正在尝试构建(我假设您正在使用Cmake),请在Line find_package(PCL REQUIRED)之前放置以下行. (或您拥有的类似行): SET(PCL_DIR /path/to/pcl1.5/build CACHE LOCATION "Where the PCL version I want to use has been built to") ---基于评论的编辑--- 好吧,因此,通过PCL 1.5代码,您是指先前为PCL 1
2 2023-11-02
编程技术问答社区
在Ubuntu 16.04上编译PCL 1.7 , CMake生成的Makefile中出现错误
我正在尝试获取PCL 1.7(点云库,而不是其他PC​​L),在Ubuntu 16.04上工作.我最终希望使用C ++的东西,但是现在我只是想让示例正常工作.我正在使用Ubuntu(GNU 5.3.1)和CMAKE版本3.5.2随附的默认编译器.我一直在遵循PCL网站上的指示(在这里://pointClouds.org/documentation/tutorials/writing_pcd.php#writing-pcd" rel =" noreferrer">在这里),但是当前我当前卡在让CMAKE后使用'make'命令构建想要构建的东西.这是我得到的错误 [ 50%] Building CXX object CMakeFiles/pcd_write.dir/pcd_write.cpp.o :0:15: warning: missing whitespace after the macro name make[2]: *** No rule to ma
12 2023-11-02
编程技术问答社区