ar_track_alvar编译报错

ubuntu18.04 melodic

opencv3.4.13

源码安装ar_track_alvar功能包(由于直接使用 sudo apt-get install ros-melodic-ar-track-alvar* 会出现代码和文件缺失的问题导致无法使用rosrun ar_track_alvar createMarker 1 以及其他功能)

但从github上克隆再安装过程中会出现多种类型的报错,目测是因为opencv版本冲突问题

git clone https://github.com/ros-perception/ar_track_alvar.git

克隆github上 ar_track_alvar代码进行首次编译出现报错

找到所有报错中的对应文件

例如图中报错文件为Maker.h

在对应文件下编辑 将"CV_RGB("改为"cvScalar("

再次执行编译

如若出现同样问题,重复上述操作,大概有四五个头文件和cpp文件需要更改

全部编译完后会出现新的报错类型

 找到图中对应文件 IndividualMakers.cpp 

将代码 IplImage ipl_image = cv_ptr_->image 更改为IplImage ipl_image = cvIplImage(cv_ptr_->image);

(类似问题出现在该博客中,但具体问题不一样)报错:conversion from ‘cv::Mat’ to non-scalar type ‘IplImage {aka _IplImage}_轴轴จุ๊บ的博客-CSDN博客报错:conversion from ‘cv::Mat’ to non-scalar type ‘IplImage {aka _IplImage}’ 源码中的代码为:IplImage ipl_image;cv::Mat final_mat;ipl_image = final_mat;该代码是cv::Mat和IplImage数据类型的转换。报错的原因是opencv的版本问题,我测试了3.2.0 opencv的不会报错,在3.4.12版本的opencv下会报错,解决方法为将最后一行改为ipl_ihttps://blog.csdn.net/weixin_43562170/article/details/117963652再次执行编译-更改,直至不报错为止,node文件夹下的cpp文件大概都需要更改

最后就编译通过啦

可以使用以下代码进行ar的生成了

rosrun ar_track_alvar createMarker 1 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值