1

我从 MIT 下载了 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 文件的源代码,这与我所拥有的财富不同:在新的 matlab 版本上运行旧的 mex 文件

4

1 回答 1

0

找到了答案。关键是在运行 matlab 之前显式链接到文件“libcv.so.1”所在的文件夹。

所以在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';

*(文件夹在上一层。)

于 2013-05-17T21:16:09.127 回答