HCF运行matlab代码过程遇到的一些问题
从https://github.com/jbhuang0604/CF2/tree/4b895b516b2d73fc83174439729d2157902c9d63下载源码后将http://www.vlfeat.org/matconvnet/models/imagenet-vgg-verydeep-19.mat预训练模型下载完成把文件拷贝到/CF2/model中,参考博客:目标跟踪HCF算法matlab代码运行教程(含GPU)_matlab跑目标跟踪算法_zllxot的博客-优快云博客(师哥写的,哈哈,不得不说师哥厉害)
1.MEX配置
(参考博客:【Matlab】Matlab2016a+VS2015之间mex过程出错的解决方法_matlab2016 vs_芒果太甜的博客-优快云博客 ||https://blog.youkuaiyun.com/guidgeek/article/details/105422236)
运行demo.m后命令行出现
我的解决方案:下载visiual studio2015(或者别的版本,我用的matlab是2018b)下载安装好后在matlab命令行输入
mex -setup
还是没有成功,查看详细信息在命令行输入
mex -setup -v
发现出现
... 正在查找编译器 'Microsoft Visual C++ 2015 Professional (C)'...
... 正在查找注册表设置 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
... 正在查找注册表设置 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 14.0...是('D:\ProgramFiles\Microsoft Visual Studio 14.0\')。
... 正在查找文件 'D:\ProgramFiles\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe'...否。
找不到已安装的编译器 'Microsoft Visual C++ 2015 Professional (C)'。
发现是找不到cl.exe这个问题,一般是在安装vs的时候没有勾选C++选项,重新安装或者修改visiual studio勾选c++那个选项安装一下就可以。然后再打开matlab,在命令行输入
mex -setup
出现下图所示结果,点击C++那个,问题解决。
(2)换了电脑装了visual2017之后发现问题不一样了出现:
cl.exe' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
错误使用 vl_compilenn>check_clpath (line 656)
Unable to find cl.exe
借鉴博客(VS2017:'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件的解决方法_vs没有cl_六六六六神的博客-优快云博客)
将搜索出来的第一个cl.exe地址直接放在系统PATH中:我的地址是:(找不到全局搜索一下)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
打开系统-高级系统设置-环境变量-系统变量-PATH
将cl.exe的路径添加上去,点击确定,重新打开matlab,就可以了。
2.引用错误
运行demo.m出现如下错误
.
我的解决方法:在get_feature的normalization前面添加meta如图
(原因俺也不知道,就是看别人的博客类似代码normalization前边有meta),问题解决。。。
解决完normalization又出现
解决方法参考博客:目标跟踪HCF算法matlab代码运行教程(含GPU)_matlab跑目标跟踪算法_zllxot的博客-优快云博客(师哥写的,哈哈,不得不说师哥厉害)
vl_simplenn.m所在位置如图
到此,可以用CPU运行了,如何使用GPU运行,请移步上述博客:目标跟踪HCF算法matlab代码运行教程(含GPU)_matlab跑目标跟踪算法_zllxot的博客-优快云博客