TX2配置loam_livox的一些问题(关于opencv)

一、问题描述

由于需要在TX2中跑loam_livox,首先就要求安装opencv3.2.0,在上一篇博客中已经说了安装方法。
安装后,catkin_make仍然会报错,如下图:
在这里插入图片描述
究其原因是opencv版本问题。新版本这几个函数名字有变化。在网上搜索,也有解决办法,大多是采用在问题的文件中插入如下:

#ifndef CV_CAP_PROP_FRAME_WIDTH
#define CV_CAP_PROP_FRAME_WIDTH cv::CAP_PROP_FRAME_WIDTH
#define CV_CAP_PROP_SETTINGS cv::CAP_PROP_SETTINGS
#define CV_CAP_PROP_FRAME_HEIGHT cv::CAP_PROP_FRAME_HEIGHT
#define CV_CAP_PROP_FPS CAP_PROP_FPS
#define CV_CAP_PROP_FOURCC CAP_PROP_FOURCC
#define CV_BGR2GRAY cv::COLOR_BGR2GRAY
#define CV_BGRA2RGB cv::COLOR_BGRA2RGB
#endif

这样可以解决这个报错,但后续又会出现其他错误,基本上还是说opencv版本冲突,或者是缺少opencv函数定义。
查看电脑上opencv文件,可以发现,TX2在最开始刷机后自带就有opencv4.5,后面又随着装ros,安装了opencv4.1。几个版本也都不容易单独删除。于是在调用时就发生了冲突。

二、解决办法

使用命令查看opencv版本,发现总之3.2.0是安装成功的,那么问题就只能是catkin_make 时loam_livox找错包了。
查看loam_livox中CMakeLists.txt文件,将其中的

find_package(OpenCV REQUIRED)

改为

find_package(OpenCV 3.2.0 REQUIRED)

这样链接的就是3.2.0版本。
问题解决!!!
注意:3.2.0前一定要有空格
如果是其他不同项目,出现版本冲突,可能是改CMakeLists或者makefile文件…

三、其他思路

之前在PC端里装ros时,自带的就是3.2.0。然后有老哥跟我讲可能是我在TX2里装ros时改源了,当时先改了清华源,之后装的ros。
经过尝试,将TX2改回系统自带的源后,再安装ros,ros自带的就是opencv3.2.0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值