背景:
jetson nx 刷系统自带opencv4
我的环境也是手动安装的opencv(和opencv_contrib) 4.1.2 with cuda
但是,因为slam的需要,orb和LOAM都依赖opencv3。所以需要安装opencv3.4.15。
目的:
不卸载已有的4的基础上,把3安装上,并能顺利编译所需要的功能包。
方法:
各自编译cmake 不说了。
make -j 也不说了
make install 记不得了,大概是4是默认的make install, 3的是安装到了区分的目录上: /usr/local/opencv3 。
之后的关键操作:
1、给opencv3配置一个软链接,(否则编译时候cv_bridge说按照这个路径找不到opencv):
(base) lll@lll-L4T:/usr/include$ sudo ln -s /usr/local/opencv3 opencv
2、.bashrc文件下配置:
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3/lib:$LD_LIBRARY_PATH
3、在需要编译的ros包里的 CMakeLists.txt 文件中找寻opencv语句之前的行,加上这一句:
set(OpenCV_DIR "/usr/local/opencv3/share/OpenCV")
find_package(OpenCV REQUIRED QUIET)
结果:
我的编译成功了,
实验对象:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM