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

1 次查看(过去 30 天)
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.

回答(1 个)

Rishik Ramena
Rishik Ramena 2020-12-29
I hope the workaround mentioned here worked.

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by