如果出现报错:[camera/realsense2_camera_manager-2]进程已经死亡。报错如下:
/opt/ros/melodic/lib/nodelet/nodelet: symbol lookup error: /home/khz/ROS/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE
[camera/realsense2_camera_manager-2] process has died [pid 4924, exit code 127, cmd /opt/ros/melodic/lib/nodelet/nodelet manager __name:=realsense2_camera_manager __log:=/home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2.log].
log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2*.log
[camera/realsense2_camera-3] process has finished cleanly
log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera-3*.log
如下图:
由于出现提示:未定义标识符undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE。猜测是OpenCV库的问题。
解决方案:
一、首先看看自己有没有安装OpenCV,没有安装请先安装。
二、如果已经安装了OpenCv,接下来教你配置。
1、查看linux下的opencv库:
pkg-config opencv --libs
2、查看linux下的opencv安装版本:
pkg-config opencv --modversion
3、查看linux下的opencv安装路径:
sudo find / -iname "*opencv*"
# 可以搜索带有关键字opencv的所有文件及文件夹都会输出到终端,如果输出太长建议输出到txt文件里查看(需要注意路径)
sudo find / -iname "*opencv*" > /home/ubuntu/Desktop/opencv_find.txt
安装好和已经安装了opencv了,接下来需要打开realsense-ros的功能包文件夹下 realsense2_camera 文件夹下的 CmakeLists.txt文件,做出如下修改:
添加set(OpenCV_DIR /usr/local/share/OpenCV/)到find_package前(下图11行,注意检查自己OpenCV的路径),添加OpenCV REQUIRED到find_package里(下图26行,注意放在括号里)。
添加${OpenCV_LIBS}到目标链接库里(下图127行)
编辑完成后重新编译,并执行roslaunch realsense2_camera rs_camera.launch。看到如下图就是启动成功了(就行,警告可以忽略)。
看到:Realsense Node Is Up!成功了成功了成功了
启动RGBD相机
如果是RGBD相机,需安装一下依赖:安装RGBD的launch(注意ROS版本)
sudo apt install ros-melodic-rgbd-launch
然后运行:
roslaunch realsense2_camera rs_rgbd.launch
成功成功成功!
希望这篇文,能给大家带来帮助。没有比脚更长的路,更没有解决不了的困难,我们迎难而上、逆势突围、笑到最后。加油研究生!
摘自原文:
Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros - 代码天地 (codetd.com)
linux中怎么查看有没有装opencv以及opencv的安装目录和版本信息_linux查看opencv是否安装成功-CSDN博客