Я работаю над matlab R2013a на Ubuntu. Я имею в виду этот код:Ошибка Ubuntu: «filename» не может выполнить двоичный файл
sift_bin = fullfile('lib/sift/bin/siftfeat');
[pf,nf,ef] = fileparts(filename);
desc_file = [fullfile(pf,nf) '.txt'];
im1=imread(filename);
if (size(im1,1)<=1000 && size(im1,2)<=1000)
status1 = system([sift_bin ' -x -o ' desc_file ' ' filename]);
else
status1 = system([sift_bin ' -d -x -o ' desc_file ' ' filename]);
end
Но это дает ошибку:
lib/sift/bin/siftfeat cannot execute binary file
Есть ли что-нибудь не так с системным вызовом?
lib/sift/bin/siftfeat - это путь библиотеки просеивания.
Вам не хватает прямой косой черты перед lib или это должен быть относительный путь? –
Его относительный путь – sam
Вы загрузили двоичные файлы для правильной архитектуры? Вы получаете ту же ошибку, если вы запускаете команду через терминал linux? Я думаю, что это проблема с двоичными файлами, а не с вашим кодом matlab. – Daniel