ubuntu20.04运行小觅双目深度相机D1000-50

文章讲述了作者在Ubuntu20.04系统上尝试使用小觅相机SDK时遇到的PCL版本兼容性问题,通过修改CMakeLists.txt中的C++版本设置解决了编译错误,最终成功编译并运行了示例程序。
摘要由CSDN通过智能技术生成

 翻出了在实验室落灰的小觅相机,打算跑一下看看点云地图效果如何。

电脑是ubuntu20.04系统,官方介绍的支持平台最高到18.04,我想着应该差不多都能跑起来,于是进行了一些尝试。

官方SDK文档为 MYNT EYE D SDK

具体流程参考 ubuntu源码安装

因为之前已经安装过ROS1所以OpenCV和PCL库都有,但是因为版本问题,后续SDK编译的时候需要稍微改一下CMake

在 2.2 编译 SDK 中运行

make all

会出现如下错误

这个问题是PCL版本问题造成的,因为SDK的CMakeLists.txt里面使用的是c++11,但是ubuntu20.04默认安装的PCL10.0需要c++14的语法,因此只需在CMakeLists.txt里面添加c++14的部分即可,具体如下:

定位到MYNT-EYE-D-SDK/CMakeLists.txt文件第59行

发现对于c++版本设置在MYNT-EYE-D-SDK/cmake/DetectCXX11.cmake文件中,定位到33-46行:

上述code大概意思就是先找有没有c++11版本,如果有就设置为c++11

参考c++版本设置

改为如下代码

set(CXX_FLAGS_EXTRA "")

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11)
check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX14)
  set(CXX_FLAGS_EXTRA "-std=c++14")
  message(STATUS "Using flag -std=c++14")
elseif(COMPILER_SUPPORTS_CXX11)
  set(CXX_FLAGS_EXTRA "-std=c++11")
  message(STATUS "Using flag -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
  set(CXX_FLAGS_EXTRA "-std=c++0x")
  message(STATUS "Using flag -std=c++0x")
else()
  message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

添加对于c++14的版本,编译显示下图就表明添加成功,然后就可以成功编译PCL库了

最后编译成功

成功运行小觅相机(示例)!

但是深度信息没有那么准,还需要去不同环境检测一下

下面电源传输线一定要拧紧,不然容易松动,导致信号中断

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值