代码问题【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 ————————— ...
随机推荐
- ROS kinetic + Realsens D435i + ORK + LINEMOD 物体识别
1. ORK 网址:https://wg-perception.github.io/object_recognition_core/ ORK (Object Recognition Kitchen) ...
- IT兄弟连 HTML5教程 HTML文件的主体结构
每个页面都是一个独立的HTML文档,每个HTML文档的主体结构又都是相同的,而且在一个文档中这样的主体结构只能声明一次.可以简单的将HTML文档主体结构分为两部分,一部分是定义文档类型,HTML5中声 ...
- F5的作用
F5 F5的全称是F5-BIG-IP-GTM,是最流行的硬件负载均衡设备,其并发能力达到百万级.F5的主要特性包括: 多链路的负载均衡和冗余 可以接入多条ISP链路,在链路之间实现负载均衡和高可用. ...
- js移动端自适应动态设置html的fontsize
JS设计移动端页面时会遇到自适应问题,大多数都知道用rem来设置页面的比例大小,下面就来说几种常见的html中的fontsize设置方法: 1.使用flexible.js插件库. 淘宝就是利用这个来 ...
- C# 使用Json.NET对数据进行序列化和反序列化 | c# json serialize and deserialize using json.net JsonConvert
本文首发于个人博客https://kezunlin.me/post/22391aa3/,欢迎阅读最新内容! c# json serialize and deserialize using json.n ...
- 在windows实现nginx滚动日志
nginx自身并不能够切分或滚动日志,因此只能用一个bat脚本按天切割日志,并删除三天前的日志 @echo off rem nginx滚动日志 rem nginx工作目录 set workspace= ...
- C++ 运行时类别识别
运行时动态类型的识别其实应该是多态方面的知识,这里我直接拿来单独成章. dynamic_cast和static_cast 1.static_cast用法如下: static_cast < Typ ...
- Elastic:使用Heartbeat进行Uptime监控
Elastic:使用Heartbeat进行Uptime监控 Elastic在6.5的版本中推出Heartbeat.Heartbeat 也就是我们通常所说的心跳.我们知道在医院,医生是用听心跳来判断一个 ...
- CSS filter滤镜试玩
1.模糊(blur). 用法:给相应元素设置高斯模糊,传入的px数值越大越模糊. 2.亮度(brightness). 用法:给元素设置亮度,0%为全黑,100%为元素原始亮度,>100%表示会比 ...
- Spring之 JDBC 异常
JDBC异常抽象 Spring会将数据操作的异常转换为DataAccessException 解析错误码 SQLErrorCodeSQLExceptionTranslator ErrorCode定义 ...