当前位置: 首页 > news >正文

中国供应商网做网站中国网络营销公司

中国供应商网做网站,中国网络营销公司,wordpress divi 数据,最新版wordpress背景音乐写在前面 本文内容 以PCL 1.14.0,Open3D0.14.1为例,对基于PCL、Open3D开发的代码进行源码debug; 如何学习、上手点云算法系列: 如何学习、上手点云算法(一):点云基础 如何学习、上手点云算法(二):点云处理相…

写在前面

  • 本文内容
    以PCL 1.14.0,Open3D0.14.1为例,对基于PCL、Open3D开发的代码进行源码debug;
    如何学习、上手点云算法系列:
    如何学习、上手点云算法(一):点云基础
    如何学习、上手点云算法(二):点云处理相关开源算法库、软件、工具
    如何学习、上手点云算法(三):用VsCode、Visual Studio来debug基于PCL、Open3D的代码
    更多点云基础、算法相关内容请关注专栏:
    点云处理基础
    点云配准(PointCloud Registration)
    Open3D点云处理
    PCL点云处理
    点云算法

  • 平台/环境
    Windows10, CMake, Open3D, PCL

  • 转载请注明出处:
    https://blog.csdn.net/qq_41102371/article/details/136504094

目录

  • 写在前面
  • PCL
    • 准备
    • 编译debug版本
    • 配置launch.json
    • Visual Studio
  • Open3D
    • 准备
    • 添加open3d测试
    • 调试
  • 参考

PCL

准备

安装PCL1.14.0: PCL1.14.0安装、使用教程
VsCode配置PCL: VsCode配置PCL、Open3D自动补全
在此基础上,下载debug需要的pdb文件:https://github.com/PointCloudLibrary/pcl/releases
在这里插入图片描述

打开压缩包
在这里插入图片描述
将pdb文件复制到之前装PCL的bin路径下,我这里是
D:\carlos\install\PCL 1.14.0\bin
在这里插入图片描述

注:PDB文件的作用见vs2019配置opencv+contrib-440 + PCL1.10.0 + 源码单步调试

编译debug版本

在VsCode配置PCL、Open3D自动补全和的基础上,新建一个compile_debug.bat:

cmake -DCMAKE_BUILD_TYPE=Debug ^
-DPCL_DIR="D:/carlos/install/PCL 1.14.0/cmake" ^
-S ./ -B ./build_debugcmake --build ./build_debug --config Debug --target ALL_BUILD

在这里插入图片描述
然后使用compile_debug.bat进行编译,完了会自动生成build_debug
在这里插入图片描述

配置launch.json

创建launch
在这里插入图片描述
添加配置
在这里插入图片描述
修改配置
"program"就是我们debug的程序对象,"environment"就是为当前程序添加PCL的环境变量,让其能找到PCL、VTK、FLANN等的动态库(.dll)
示例:

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(Windows) Launch","type": "cppvsdbg","request": "launch","program": "${workspaceFolder}/build_debug/Debug/statistical_removal.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [{"name": "PATH","value": "D:/carlos/install/PCL 1.14.0/bin;D:/carlos/install/PCL 1.14.0/3rdParty/FLANN/bin;D:/carlos/install/PCL 1.14.0/3rdParty/VTK/bin;D:/carlos/install/PCL 1.14.0/3rdParty/Qhull/bin;D:/carlos/install/PCL 1.14.0/3rdParty/OpenNI2/Tools;$(PATH)"}],"console": "externalTerminal"}]
}

在这里插入图片描述
在statistical_removal.cpp中随便加一个断点,然后使用F5或者右上角的Debug C/C++ File, 开始debug
在这里插入图片描述
然后就可以看到程序运行到了断点处,左侧有变量状态,自己添加监控,线程的显示
在这里插入图片描述

Visual Studio

打开文件夹,找到.sln文件双击打开
在这里插入图片描述
鼠标右键,将statistical_removal设置为启动项目
在这里插入图片描述
再点开最下面的属性,Debug–调试–环境–编辑,输入

PATH=;D:\carlos\install\PCL 1.14.0\bin;
D:\carlos\install\PCL 1.14.0\3rdParty\FLANN\bin;
D:\carlos\install\PCL 1.14.0\3rdParty\VTK\bin;
D:\carlos\install\PCL 1.14.0\3rdParty\Qhull\bin;
D:\carlos\install\PCL 1.14.0\3rdParty\OpenNI2\Tools;
$(PATH)

在这里插入图片描述
确定
在这里插入图片描述
在这里插入图片描述

Open3D

准备

Open3D没有像PCL提供Debug版的lib和对应的pdb文件,需要自己编译,在Open3D0.14.1编译、安装、demo使用教程中我们已经编译好了debug版本,现在需要去build_debug/lib/Debug中找到pdb文件在这里插入图片描述
然后将pdb文件复制到install的目录中
在这里插入图片描述

添加open3d测试

在上面PCL示例project中,我们添加一个open3d的测试,在编译脚本中添加open3d的debug版的路径
在这里插入图片描述
compile_debug.bat:

cmake -DCMAKE_BUILD_TYPE=Debug ^
-DPCL_DIR="D:/carlos/install/PCL 1.14.0/cmake" ^
-DOpen3D_DIR="D:/carlos/install/open3d141_d/CMake" ^
-S ./ -B ./build_debugcmake --build ./build_debug --config Debug --target ALL_BUILD

添加一个测试代码test_open3d.cpp,该代码作用是平面拟合,并把拟合出的平面与剩下点云用不同颜色显示

#include <open3d/Open3D.h>int main()
{std::shared_ptr<open3d::geometry::PointCloud> pcd(new open3d::geometry::PointCloud);open3d::io::ReadPointCloud("./table_scene_lms400.pcd", *pcd);pcd->SegmentPlane();pcd->PaintUniformColor({1, 0, 0});open3d::visualization::DrawGeometries({pcd});return 0;
}

修改CMakeLists.txt

cmake_minimum_required(VERSION 3.18)project(statistical_removal)# PCL
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
# PCL test
add_executable(statistical_removal statistical_removal.cpp)
target_link_libraries(statistical_removal ${PCL_LIBRARIES})# Open3D
option(STATIC_WINDOWS_RUNTIME "Use static (MT/MTd) Windows runtime" ON)
if(STATIC_WINDOWS_RUNTIME)set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
else()set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
endif()
find_package(Open3D REQUIRED)
include_directories(${Open3D_INCLUDE_DIRS})# Open3D test
add_executable(test_open3d test_open3d.cpp)
target_link_libraries(test_open3d ${Open3D_LIBRARIES})

然后使用compile_debug.bat进行编译

调试

修改launch.json

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(Windows) Launch","type": "cppvsdbg","request": "launch",// "program": "${workspaceFolder}/build_debug/Debug/statistical_removal.exe","program": "${workspaceFolder}/build_debug/Debug/test_open3d.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [{"name": "PATH","value": "D:/carlos/install/PCL 1.14.0/bin;D:/carlos/install/PCL 1.14.0/3rdParty/FLANN/bin;D:/carlos/install/PCL 1.14.0/3rdParty/VTK/bin;D:/carlos/install/PCL 1.14.0/3rdParty/Qhull/bin;D:/carlos/install/PCL 1.14.0/3rdParty/OpenNI2/Tools;$(PATH)"}],"console": "externalTerminal"}]
}

在源码添加断点,开始调试
在这里插入图片描述
平面分割结果可视化
在这里插入图片描述

用Visual Studio debug参照上面PCL示例,打开.sln,设置启动项
在这里插入图片描述
但是Open3D是静态库,所以不用设置环境变量就可以了,另外用Visual Studio调试前把代码中点云读取路径改成绝对路径再重新编译一下,不然会找不到点云
在这里插入图片描述

参考

https://code.visualstudio.com/docs/cpp/launch-json-reference
其余文中已列出

主要做激光/影像三维重建,配准、分割等常用点云算法,熟悉open3d、pcl等开源点云库,技术交流、咨询可私信

http://www.ritt.cn/news/2382.html

相关文章:

  • 天津网站页面设计谷歌搜索引擎香港入口
  • 手机导入wordpress主题资阳地seo
  • 无锡市住房城乡建设委网站91
  • 上海建设工程安全质量监督站网站百度官网入口链接
  • app投放推广优化seo软件
  • 做企业网站需要买什么外包公司的优势和劣势
  • 职业教育专业建设验收网站网络营销的渠道有哪些
  • 哪个浏览器可以做网站深圳全网推广公司
  • 加粉网站开发网站收录服务
  • 网站设计套用模板关键词林俊杰mp3免费下载
  • 网站搭建东莞北京推广优化公司
  • asp.net网站制作教程今日头条新闻视频
  • 网站推广系统湖南专业关键词优化服务水平
  • 横岗网站制作专业做网站建设的公司
  • 网店网站建设规划方案脚上起小水泡还很痒是什么原因
  • 桂林象鼻山属于哪个区南昌百度搜索排名优化
  • 网站设计需要什么软件广州网站优化方案
  • 自己做网站做淘宝客安卓优化大师hd
  • 建设部科技项目申报网站缅甸最新新闻
  • 济南论坛网站建设如何实施网站推广
  • 网站换肤代码搜索引擎推广有哪些
  • 网站制作素材图片百度竞价推广费用
  • 设计公司网站建设费用自媒体视频发布平台
  • 滑县做网站太原今日新闻最新头条
  • 做外贸网站用什么软件自己手机怎么免费做网站
  • 网站扒下来了怎么做seo网站诊断分析报告
  • 网站开发培训课程成都网站优化平台
  • 淘宝上做网站SEO靠谱吗宝鸡seo
  • wordpress缩略图清理广州seo网站管理
  • 品牌网站建设联系方式公司网站建设