SUN基准代码无效.mex文件错误

时间:2013-05-17 17:05:25

标签: matlab opencv computer-vision mex

我从麻省理工学院下载了SUN基准代码:

版本2: http://people.csail.mit.edu/jxiao/SUN/source_code/

下载15个图像数据集并运行该功能后:

 compute_features.m 

我收到无效的MEX文件错误:

Invalid MEX-file
'/home/arturo/Documents/Virality/reddit_data/SUN_source_code_v2/code/OpenCVmexWrapper/cvlib_mex.mexa64':
libcv.so.1: cannot open shared object file: No such file or directory

文件/home/arturo/Documents/Virality/reddit_data/SUN_source_code_v2/code/OpenCVmexWrapper/cvlib_mex.mexa64确实存在,所以我认为问题与libcv.so.1有关,或者.mexa64文件已损坏(这是非常不可能的)

当我搜索错误时,我读到了一些关于通过LD_LIBRARY_PATH添加路径的内容,但我不确定应该添加哪条路径,至少是暂时的。我有opencv和它的库一起安装,所以我不确定问题是什么。我目前的系统是Ubuntu 12.04 64bit。

这里有一个类似的问题,但答案是说,对于他们的特定情况,他们发布了MEX文件的源代码,这与我的财富不同:running old mex file on new matlab releases

1 个答案:

答案 0 :(得分:0)

找到答案。关键是要明确地链接到文件夹' libcv.so.1'就在运行matlab之前。

所以在matlab文件夹中:

LD_LIBRARY_PATH=/home/arturDocuments/Virality/reddit_data/SUN_source_code_v2/code/scene_sun ./matlab

在matlab中:

matlab>> compute_feature

还需要在其他文件夹中编译源代码。(vlfeat,VOC,libsvm)。以及编辑函数im2superpixels @ GeometricContext_dhoiem中的路径:

segcmd = '../segment_pedro/segment 0.8 100 100';

为:

segcmd = '/YOUR_PATH/SUN_source_code_v2/code/segment_pedro/segment/ 0.8 100 100';

*(该文件夹位于上一级。)