VLFeat开源库是有关于计算机视觉的开源库,其中实现了比较多流行的算法,比如特征提取或匹配算法。由于我也只是刚入门学习计算机视觉,因而目前来说对这个开源库的算法了解得不多,也就不再展开讲。有需要的朋友登录VLFeat的官网就可以了解更多的信息。
由于目前学习的需要,正在配置Minsu Cho的Learning Graphs to Match的代码,虽然readme文件里面已经讲得很清楚也很简单,但是配了之后一直跑不通,也是刚刚才调通,归根结底还是由于VLFeat开源库没有配好,故只好把自己配置的经历写下来以备后用。
首先登录官网http://www.vlfeat.org/index.html下载最新的包或者与项目相应的版本的包
下载后把压缩包进行解压缩,ubuntu系统下可以使用命令行或直接右键解压缩,可以看到有一个vlfeat的文件夹
假如文件夹的目录为:~/desktop/vlfeat,则把这个目录当作VLFEATROOT
打开matlab,输入如下命令
run('VLFEATROOT/toolbox/vl_setup')
这时可以输入命令vl_version查看VLFEAT是否配置成功
>>vl_version
0.9.16(我安装的版本)
>>vl_version verbose
Static config: X64, little_endian, GNU C 40201 LP64, POSIX_threads, SSE2, OpenMP
4 CPU(s): GenuineIntel MMX SSE SSE2 SSE3 SSE41 SSE42
OpenMP: max threads: 4 (library: 4)
Debug: yes
SIMD enabled: yes
打开matlab,输入命令
edit startup.m
加入下面的命令
run('VLFEATROOT/toolbox/vl_setup')
重新启动matlab,然后可以输入path,看是否包含了VLFEAT的目录,如果包含了一般就成功了
如果不包含就说明startup.m这个文件没有放在执行的路径中,这个的话把startup.m文件复制到执行的路径中就好了
(这个没有研究,可以再搜搜看 ╮(╯▽╰)╭)
然后,一般情况下你就可以跑代码了对不对!!!打开matlab然后cd一下,然后开始跑graph matching的代码,但是一直报错啊怎么办?!一直说把里面的某个m文件当成函数来跑,但是打开文件一看发现文件里面都是注释!!
好忧伤,痛定思痛,再搜了一下,可能是没有compile的原因,这里我也解释不清楚,但是需要compile matlab support吧,我觉得。于是打开matlab,输入命令
>>matlabroot
然后把目录记下来,记为MATLABROOT,打开终端,输入命令
$ make MEX=MATLABROOT/bin/mex
然后等一下,应该好了吧...
之后再改一下相应的路径,跑起来了!内牛满面!