我有一个单独的image.tiff文件,一个导出为32位tiff的视频序列。我想在MATLAB中将其作为图像堆栈打开,并能够逐帧导航。我相信implay()是在matlab中做到这一点的方法。如果我尝试这样做,我得到的结果是"Error occurred while attempting to read file: image.tiff Details of error: Incorrect chunk size information in AVI file." implay()只适用于.avi格式吗?在使用implay()之前,我需要将这32个tiff转换为.avi吗?或
我想使用File/import data tool将tif图像作为变量导入Matlab工作区。但是我得到了以下错误:“警告:标记SamplesPerPixel的数据类型应该是TIFF_SHORT而不是TIFF_LONG。这可能会导致数据损坏”。图像类型为单浮点型,32位。并且大小非常大(4144,12619,7)。可以在matlab中读取和显示这样的图像。这个错误是什么意思?我怎样才能纠正它呢?
非常感谢
*强文本*我试图在2012年使用MATLAB类保存一个多页TIF文件,方法是遵循。我的用法不同,我正在写一个32位的灰度图像,其值大约在-10,000到200,000之间。
% Use 'a' for 'append' since this code is in a loop that writes each page.
% Note: 'fileName' is defined elsewhere and the file is created.
t = Tiff(fileName, 'a');
tagstruct.Image
在我的matlab代码中,我试图从TIFF对象中更改标记的值。我一直在犯这个错误:
Error using tifflib
Tag number (273) is unrecognized by the TIFF library.
Error in Tiff/setTag (line 1146)
tifflib('setField',obj.FileID, ...
下面是我使用的代码:
fname='C:\FileLocation\pcd144_012.tif';
t=Tiff(fname,'r+');
我有一个多图像tiff文件(例如3000帧),并希望将每个图像加载到matlab中(我现在使用2010a )。但我发现,随着帧索引的增加,读取图像需要更长的时间。下面是我现在使用的代码
for i=1:no_frame;
IM=imread('movie.tif',i);
IM=double(IM);
Movie{i}=IM;
end
有没有其他更快的方法呢?