A problem in TIFF reading

7 次查看(过去 30 天)
Hi,Everybody.
I have a problem in TIFF reading. The matlab gave me a warning when I read a TIFF file:
WARNING: The datatype for tag SamplesPerPixel should be TIFF_SHORT instead of
TIFF_LONG. This may cause data corruption.
the code I used is given as follows:
FileTif=filename;
InfoImage=imfinfo(FileTif);
mImage=InfoImage(1).Width;
nImage=InfoImage(1).Height;
NumberImages=length(InfoImage);
FinalImage=zeros(nImage,mImage,NumberImages,'uint16');
How can I overcome this problem? Thanks a lot
  2 个评论
jack walker
jack walker 2016-8-30
Hello , I have also see this error. If we are using the same code as above. All its doing is reading the information the tiff . Its not actually changing it right. So by just activating the reading part its not going to Corrupt the file ?
Walter Roberson
Walter Roberson 2016-8-30
Correct, just reading the file is not going to corrupt the file.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2015-5-17
The TIFF file you are reading does not have proper headers, and MATLAB is warning you about it. However, SamplesPerPixel is going to be a very small number, 1 for grayscale and 3 for RGB. If you were happening to use a TIFF with more than 32767 channels per pixel then you would encounter problems. For normal images it is just a warning about an improper file.
You could fix the file by opening it with some random image utility and asking to save it again.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by