在循环中保存图像

时间:2012-02-13 23:32:43

标签: matlab

嗨我有一个循环,每次分离和图像,我想用不同的图像名称自动保存。我有以下代码 图

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 个答案:

答案 0 :(得分:2)

我喜欢用这样的东西:

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

用零填充文件名,因此它们可以很好地排在目录中。

答案 1 :(得分:2)

你可以这样做:

imwrite(~n1, ['test' num2str(n) '.jpg']);

答案 2 :(得分:0)

我还没有在matlab中使用过imwrite,但我知道你通常会连接字符串以便根据循环值更改文件名。所以你可以做类似下面的代码:

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

您可以使用sprintf和%d修饰符之类的内容将整数添加到字符串中。