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

标签 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

最佳答案

找到了答案。关键是在运行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';

*(文件夹在上一级。)

关于matlab - SUN基准代码无效的.mex文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16614467/

相关文章:

本地二进制模式的 Matlab 代码

matlab - matlab极坐标图中的直线

c - CV_SWAP宏有什么作用?

Matlab:如何对不包括NaN的数据下降进行排序

arrays - 在单个图窗中显示存储在元胞数组中的高斯金字塔

android - 如何获得彩色的 ARCore AcquireCameraImageBytes()?

opencv - cv::HoughCircles 中的 dp 参数究竟是如何工作的?

python - 使用 OpenCV 去除具有形态学侵 eclipse 的视网膜图像中的小血管

opencv - OpenMVS,Windows 编译错误

c++ - MOG2 背景扣除参数