Проблема с добавлением буксирных цифр в строку пути для чтения нескольких файлов - PullRequest
1 голос
/ 02 апреля 2020

Я хочу прочитать несколько файлов из папки, единственная проблема в моем коде заключается в том, что вместо полного пути к изображению:

'checkboard / Gaussian_Noised / image_01.jpg '

У меня есть путь без нуля в двух последних цифрах

РЕДАКТИРОВАТЬ : вместо первых 9 есть пробел вместо изображения paths.

'checkboard / Gaussian_Noised / image_ 1.jpg'

как я могу это исправить, пожалуйста

%-------------------------------------------------------
clc
clear all
close all
%------------------------------------------------------
path = 'checkboard/Gaussian_Noised/';
% Define images to process
imageFileNames = cell(1,36);
for n = 1:36
imageFileNames{n} = strcat(path,sprintf('image_%2d.jpg',n))
end
%------------------------------------------------------

1 Ответ

2 голосов
/ 02 апреля 2020

В этом случае лучше использовать спецификатор float-format для дополнения нулями:

num2str(1,'%02.f')

'01'

num2str(1,'%02.d')

'1'

num2str(1,'%2.d')

'1'

num2str(1,'%d')

'1'

Итак, в вашем случае:

sprintf('image_%02.f.jpg',n)

общий совет В качестве общего совета вы можете просто проверить папку для всех файлов определенного шаблона

path2dir = pwd; % path to working directory
pattern = 'image_*.jpg'
Lst = dir(fullfile(path2dir ,pattern));
for i = 1:length(Lst)
    path2file = fullfile(Lst(i).folder,Lst(i).name);
    % load the file and do something with it
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...