Problems writing a tiff file

1 次查看(过去 30 天)
Sebastian G
Sebastian G 2013-3-7
When I write an array as tiff, change the values.
if true
% code
end
I=round(rand(10,10,3)*10);
file='c:\temp';
for i=1:3
imwrite(I(:,:,i),'file','WriteMode','append');
end if true
if true
% code
end
thank you very much
  1 个评论
Jan
Jan 2013-3-7
Please explain with more details, which values are changed.

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2013-3-7
编辑:Jan 2013-3-7
imwrite(I(:,:,i), 'file', 'WriteMode', 'append');
This writes to the file called 'file' in the current directory. I guess you want:
file='c:\temp\Picture.tiff';
imwrite(I(:,:,i), file, 'WriteMode', 'append');
without quotes around the variable file.
  2 个评论
Sebastian G
Sebastian G 2013-3-7
My problem is that it does not record the extamente matrix.
I=round(rand(10,10,3)*10);
file='c:\temp\Picture.tiff';
for i=1:3
imwrite(I(:,:,i),file,'WriteMode','append');
end
thanks
Sebastian G
Sebastian G 2013-3-7
My problem is that it does not record the same matrix. Sorry

请先登录,再进行评论。


Image Analyst
Image Analyst 2013-3-7
Try the Tiff class. http://www.mathworks.com/help/matlab/ref/tiffclass.html I believe it has more and better functionality regarding tiff files. I've not used the WriteMode append option in imwrite(). But maybe Tiff is worth a try. I don't know what an "extamente" matrix is, but do you see the file size in bytes increase after each write? If so, that indicates that some data is being appended.
  5 个评论
Image Analyst
Image Analyst 2013-3-7
Can you also show the code you are using to read it back in and verify what was written out?
Sebastian G
Sebastian G 2013-3-8
The problem was not divided by 255
I=round(rand(10,10,1)*10);
file='c:\temp\Picture.tiff';
I2=I./255;
imwrite(I2(:,:),file,'tiff');
I1(:,:)=imread(file,'tiff');
a=isequal(I,I1);
Thanks

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by