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

最新文章

  1. 二十四点算法 java实现
  2. IHttpHandler防止图片链接被盗用
  3. table 细边框
  4. WinCE及Windows软件开发相关书籍转让
  5. Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed : Exit=255 See log for details
  6. ajax-1:基本实现原理
  7. 纯CSS3制作学生入学档案表单样式代码
  8. iOS开发之 UIScrollView的frame、contentSize、contentOffset和contentInset属性
  9. Oracle over函数学习
  10. [COGS 2524]__完全平方数
  11. Java 核心系列教程
  12. C++ 深入理解 虚继承、多重继承和直接继承
  13. Codeforces 671D Roads in Yusland [树形DP,线段树合并]
  14. 解决idea创建Maven项目卡在running tmp archetypexxxtmp
  15. [Java123] JavaBean
  16. No.10 selenium学习之路之通过元素定位获取属性
  17. iOS Sprite Kit教程之使用帮助文档以及调试程序
  18. UVALive-3487 Duopoly(最小割)
  19. ArrayList既然继承自AbstractList抽象类,而AbstractList已经实现了List接口,那么ArrayList类为何还要再实现List接口呢?
  20. A电脑的gho还原到B电脑上的驱动解决方案

热门文章

  1. xml模块(了解)
  2. 利器: Mac自带的图片工具Sips
  3. LeetCode 350: 两个数组的交集 II Intersection of Two Arrays II
  4. SpringBoot系列之配置文件占位符使用
  5. GPU跑tf-faster-rcnn demo以及训练自己的数据
  6. python 实现自定义切片类
  7. 现代C++实现多种print
  8. ASP.NET Core使用Nacos作为配置中心的多环境问题
  9. swoole中http_server的配置与使用
  10. linux安装IB驱动方法