2014-02-05 62 views
0

我试图通过使用imwrite在一些处理后保存我的数据'图像',但问题是imwrite不适用于序列。我已阅读了一些解决方案并尝试了它们,但它们不起作用。例如,我写了我的代码,例如:使用imwrite图像序列

%read the sequence 
for i=1:k 

    %treatment 
    Id{k} = waverec2(t_C,L,'sym8'); 

    fileName = sprintf('C:\\Users\\swings\\Desktop\\data\\imagesPourAlgo\\images.tiff\\%02d',k); 

    imwrite (Id, 'fileName', 'tif'); 

end 

了解我要保存'写'每个图像分别做他们的另一个过程。

回答

1

你为什么不尝试这样的事:

for i = 1:10 
    I = waverec2(t_C,L,'sym8'); % or whatever you have 
    filename = ['c:\some\directory\file_number_' num2str(i) '.tif']; 
    imwrite(I,filename); 
end 

就个人而言,我不喜欢在这种简单的情况下使用“的sprintf”。

+0

谢谢做这个NKN我创造一个file_number_1 .. file_number_10然后写我的图片在这些文件中,对不对?好主意谢谢:) – Ahmed

+0

另一个问题Mr.NKN我想保存我的ID {k}为tif 32位,所以我用Id {k} = uint32(Id {k});在imwrite之前,但我得到这个错误:不能写uint32数据到TIFF文件我该怎么办? :/ – Ahmed

1

imwrite的第二个输入参数是char数组fileName。改用该变量。图像可能是Id{k}而不是Id

imwrite (Id{k}, fileName, 'tif');

相关问题