Код теста SUN Недопустимый файл .mex. Ошибка

Я скачал тестовый код SUN из Массачусетского технологического института:

версия 2: http://people.csail.mit.edu/jxiao/SUN/source_code/

Как только я загружаю набор данных из 15 изображений и запускаю функцию:

 compute_features.m 

Я получаю сообщение об ошибке Invalid MEX file:

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, что не так, как у меня: запуск старого mex-файла в новых выпусках Matlab


person Arturo    schedule 17.05.2013    source источник


Ответы (1)


Нашел ответ. Ключевым моментом является явная ссылка на папку, в которой находится файл «libcv.so.1», непосредственно перед запуском Matlab.

так в папке матлаб:

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

И в матлабе:

matlab>> compute_feature

Также необходимо компилировать исходный код в других папках (vlfeat, VOC, libsvm). А также редактирование пути в функции im2superpixels@GeometricContext_dhoiem из:

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

to:

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

*(Папка находится на один уровень выше.)

person Arturo    schedule 17.05.2013