代码问题【LDES//AAAI2019】
paper:Li Y, Zhu J, Hoi S C H, et al. Robust Estimation of Similarity Transformation for Visual Object Tracking[C]. //AAAI2019.
代码跑不通,大段错误提示:
/utility/mexfiles/mpolar.mexa64' 无效
按照项目主页https://github.com/ihpdep/LDES上的建议
If it does not run directly, probably you need to compile the mex files by yourself. Please check the compile.m in ./utility/mexfiles and change the opencv path for your settings. We tested it with opencv 2.4 and 3.4
重新编译utility目录下的文件
终端键入
pkg-config --cflags opencv pkg-config --libs opencv
找到opencv的lib和头文件的路径,然后修改compile.m如下:
mex -lopencv_core -lopencv_imgproc -L/usr/lib/x86_64-linux-gnu -I/usr/include/ mexResize.cpp MxArray.cpp
mex -lopencv_core -lopencv_imgproc -L/usr/lib/x86_64-linux-gnu -I/usr/include/opecnv mpolar.cpp
mex -lopencv_core -lopencv_imgproc -L/usr/lib/x86_64-linux-gnu ...
-I/usr/include/ getColorSpace.cpp
mex -lopencv_core -lopencv_imgproc -L/usr/lib/x86_64-linux-gnu ...
-I/usr/include/ getColorSpaceHist.cpp
这里lib的目录和头文件的目录是根据上面终端查到的路径修改。然后编译。会提示
mpolar.cpp:51:9: error: ‘logPolar’ is not a member of ‘cv’
找到mpolar.cpp51行左右,上面写到
if (CV_MAJOR_VERSION <3)
{
IplImage ipl_a = imgA, ipl_pa = pa;
cvLogPolar(&ipl_a, &ipl_pa, cvPoint2D32f(imgA.cols >> 1, imgA.rows >> 1), mag);
}
else
{
cv::logPolar(imgA, pa, cv::Point2f( (float)colsA /2 , (float) rowsA /2), mag,cv::INTER_LINEAR+cv::WARP_FILL_OUTLIERS);
}
我的opencv版本是2.4.9 不支持cv::logPolar,只支持cvLogPolar.代码中也提示了如果版本小于3,如何如何
将else里面的cv:logPolar...注释掉
编译,正常通过。
运行程序,还是同样大段报错:
mpolar.mexa64' 无效:
缺少 '/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4->
在matlab中输入 !ldd mpolar.mexa64
提示:
./mpolar.mexa64: /usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4)
./mpolar.mexa64: /usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4)
按照这个帖子去修改https://blog.csdn.net/arackethis/article/details/42365573
注意MATLAB的路径 和GLIBCXX的版本号。
然后再跑程序。上面的错误消失,提示新的错误
/mpolar.mexa64' 无效:
/usr/local/MATLAB/R2017b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by
/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4)。
这个帖子中有解决办法:https://stackoverflow.com/questions/37921139/error-version-glibcxx-3-4-21-not-found
不要直接在终端启动matlab,这样:
root@qian-desktop:/usr/local/MATLAB/R2017b/bin# LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 matlab
所以上面的修改matlab里面的libstdc++.so.6这一步应该并不需要。因为最后用了/usr/lib/x86_64-linux-gnu/目录下的libstdc++.so.6
2019.5.31
代码问题【LDES//AAAI2019】的更多相关文章
- 日期格式代码出现两次的错误 ORA-01810
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- redux-amrc:用更少的代码发起异步 action
很多人说 Redux 代码多,开发效率低.其实 Redux 是可以灵活使用以及拓展的,经过充分定制的 Redux 其实写不了几行代码.今天先介绍一个很好用的 Redux 拓展-- redux-amrc ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
随机推荐
- 阿里Nacos初体验
Nacos 从开源到现在已经18个releases了,更新很快,社区也很活跃,光钉钉群的人数那也是好多,每次点个查看全部成员的按钮,我的钉钉就要卡死,也有可能我没更新最新的版本. 前面写了一段时间的S ...
- 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 5
23.3 接口的安全控制规范 23.2节的示例实现了一个简单接口,但是这个接口此时是在“裸奔”的.因为这个接口所有人都可以请求,不仅我们的客户端可以正常访问数据,如果有人使用如fiddler.wir ...
- java线程join方法使用方法简介
本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 public class ThreadTest { ...
- 层级轮播图(animate)
层级轮播图(animate) css <style type="text/css"> * { margin: 0; padding: 0; } ul, ol { lis ...
- tomcat9上传文件失败错误
项目上线正常运行一段时间后,有一天突然所有的附件上传都出现了错误,查找项目本身的日志系统也一致没有跟踪到错误.经过几番折腾,在tomcat9-stdout.log日志中发现如下异常: ERROR or ...
- 面试官:你看过Redis数据结构底层实现吗?
面试中,redis也是很受面试官亲睐的一部分.我向在这里讲的是redis的底层数据结构,而不是你理解的五大数据结构.你有没有想过redis底层是怎样的数据结构呢,他们和我们java中的HashMap. ...
- [转]Apache Doris资料汇总
参考资料 https://www.toutiao.com/i6709706901770207748/?tt_from=weixin&utm_campaign=client_share& ...
- 好久没玩laravel了,今天玩下Laravel项目迁移步骤
.在新的目录中克隆git远程版本库 .执行composer install安装依赖 .执行php artisan key:generate生成key 好久没玩laravel了,今天玩下Laravel项 ...
- 基于C# WinForms窗体——飞机大战
原文:基于C# WinForms窗体——飞机大战 using System; using System.Collections.Generic; using System.ComponentModel ...
- python中反转列表的三种方式
1.内建函数reversed() li =[1, 2, 3, 4, 5, 6] a = list(reversed(li)) print (a) 注意:reversed()函数返回的是一个迭代器,而不 ...