Сохранение изображений внутри цикла - PullRequest
1 голос
/ 14 февраля 2012

Привет, у меня есть цикл, и каждый раз он отделяется и изображение, и я хочу сохранить его автоматически с другим именем изображения. У меня есть следующий код рисунок

for n=1:Ne
    [r,c] = find(L==n);
    n1=imagen(min(r):max(r),min(c):max(c));
    imshow(~n1);
    imwrite(~n1, test.jpg);
    pause(0.5)
end

У меня проблема в imwrite (~ n1, test.jpg); он сохраняет только одно изображение, а мне нужно его сохранить, чтобы все сохранялись, как test1.jpg, test2.jpg и так далее ... у кого-нибудь есть идеи, как это сделать? Спасибо за вашу помощь

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

Вы можете сделать:

imwrite(~n1, ['test' num2str(n) '.jpg']);
2 голосов
/ 14 февраля 2012

Мне нравится использовать что-то вроде этого:

imwrite(~n1, sprintf('test%05d.jpg', n)); %this would pad with 5 zeros

, чтобы заполнить имя файла нулями, чтобы они были аккуратно отсортированы в директории.

0 голосов
/ 14 февраля 2012

Я не особо использовал imwrite в Matlab, но я знаю, что вы обычно просто объединяете строки, чтобы изменить имя файла на основе значения цикла. Таким образом, вы можете просто сделать что-то вроде следующего кода:

imwrite(~n1, sprintf('test%d.jpg', n)); 

Вы можете использовать что-то вроде sprintf с модификатором% d, чтобы добавить целое число в строку.

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