Как использовать sprintf в MATLAB - PullRequest
0 голосов
/ 02 мая 2018

это мой код

for k = 1 : 5
im = imread(sprintf('C:\1\%d.BMP',k));

%blablalba...

end

В "C: \ 1 \" есть 5 файлов BMP

Файлы имеют названия 1.BMP, 2.BMP, 3.BMP, 4.BMP и 5.BMP соответственно

Используйте sprintf для импорта файлов размером 1.BMP, 2.BMP ... 5.BMP соответственно в imread

Но есть ошибка.

ошибка: demo_SR (строка 5)

im = imread (sprintf ('C: \ 1 \% d.BMP', k));

Почему я получаю ошибку, когда получаю k от 1 до 5 и пишу "% d"?

спасибо вам

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

По причине, указанной в ответе @Ander Biguri, вы должны либо использовать двойную обратную косую черту,

filename = sprintf('C:\\1\\%d.BMP',k);

или более надежным было бы позволить MATLAB вставить соответствующий разделитель пути, используя fullfile ,

filename = fullfile('C:','1',sprintf('%d.BMP',1));
0 голосов
/ 02 мая 2018

Попробуйте:

im = imread(sprintf('C:/1/%d.BMP',k));

MATLAB может интерпретировать \ как команду для экранированных символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...