2012-02-13 56 views
1

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

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等......任何人都有一个想法如何做到这一点? 感谢您的帮助

回答

2

我喜欢用这样的:

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

垫用零的文件名,所以他们很好地分类保存在diretory。

0

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

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

您可以使用类似sprintf以%d修改为整数添加为一个字符串。

+0

这级联将无法正常工作。 – 2012-02-14 00:38:58

+0

我编辑我的答案以显示遵循Matlab标准的级联。 – 2012-02-14 01:08:05

2

你可以这样做:

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