Файловая адресация кода для компилятора MATLAB

В моих кодах есть некоторые функции, такие как imshow или же fopen файлы, которые требуют адресации. Когда я использую свою программу в MATLAB, я использую pwd лайк imshow([pwd '/image.jpg']) для адресации и запуска программы и работы правильно, но когда я скомпилировал свою программу после ее установки (перераспределение), когда я открываю ярлык на рабочем столе, появляется сообщение об ошибке с заголовком, который не может найти моя программа image.jpg, Когда я проверяю адрес поиска, это похоже на:

C:/User/Desktop/image.jpg

Я прочитал эту страницу, но я не знаю, как использовать эту адресацию.

http://www.mathworks.com/matlabcentral/answers/59148-for-stand-alone-exe-how-do-i-include-a-folder-of-files-and-know-how-to-access-them

Кроме того, я не знаю, куда мне добавить эти файлы (изображения и тексты) в опциях компилятора MATLAB. В file required for your application to run или же file installed with your application,

Благодарю.

1 ответ

Решение

Это потому, что ваше изображение не находится в вашем текущем пути (то есть на рабочем столе в данном случае).

Если вы хотите использовать изображения, вы должны включить изображение в "общие ресурсы и вспомогательные файлы" deploytool, а в вашем скрипте / функции ссылаться на изображение, как указано в ссылке, используя:

if isdeployed
    imagepath = [ctfroot filesep 'image.jpg'];
else
    imagepath = [pwd filesep 'image.jpg'];
end
% Now use imagepath as if it was [pwd filesep 'image.jpg']
[A] = imread(imagepath);

Другой вариант - включить файл (image.jpg) в тот же путь, что и ваш конечный исполняемый файл, поскольку вы вызываете образ из pwd.

Другие вопросы по тегам