MATLAB Answers

Read Tif File shows Error "Cannot handle different values per sample for "BitsPerSample"."

6 views (last 30 days)
Jihang Wang
Jihang Wang on 11 Mar 2020
I have a tif file that I can view it from Windows Photos App. You can download it from this link.
I tried to load it to Matlab using `imread` function, however it shows an error below.
TIFF library error - 'TIFFReadDirectory: Cannot handle different values per sample for "BitsPerSample".'
I then further looking into the file's profile and find that the BitDepth and BitsPerSample value seems not correct. Also, the MaxSample value looks weird.
By checking the Matlab buildin tiff file profile, I learned that for a RGB image, BitDepth should be 24 and BitsPerSample should be [8,8,8]. However, when I tried to explicitly change them, I still get the same error.
fname = 'TifImg.tif';
info = imfinfo(fname);
% Explicitly Assign Correct Value to BitDepth and BitsPerSample (still doesn't work)
for i = 1: length(info)
info(i).BitDepth = 24;
info(i).BitsPerSample = [8 8 8];
end
% Read Tif Image
frame = imread(fname, 1, 'Info', info);
imshow(frame,[])
I hope someone can help me to load this image to Matlab and point me which profile I should change to successfully load the file.

  0 Comments

Sign in to comment.

Answers (0)

Tags


Translated by