The im2uint8()
function can be used to convert the image from uint16
(unsigned integer 16) to uint8
(unsigned integer 8) in MATLAB.
For .tiff Files with a Single Image :
Image = imread("Test_Image.tiff");
Image = im2uint8(Image);
imshow(Image);
For .tiff Files with Multiple Images and Saving Transformed/Converted Images:
Reading the images in a loop using the imread()
function with second argument being the Image_Index
corresponding to the image number within the .tiff image collection can be used to grab the entire image data stored in the file. Using imwrite()
in append
and WriteMode
will allow each converted image to be saved into one file named in this example as Converted_Image.tiff
.
%Multiple image tiff conversion%
File_Name = "Test_Image.tiff";
Image_Data = imfinfo(File_Name);
Number_Of_Images = length(Image_Data);
Tiff_Structure = struct('Image_File',[]);
for Image_Index = 1: Number_Of_Images
Image = imread(File_Name,Image_Index);
Uint8_Image = im2uint8(Image);
%For more information and plotting individual images%
Tiff_Structure(Image_Index).Image_File = Uint8_Image;
%Saving the converted images to one tiff file%
imwrite(Uint8_Image,'Converted_Image.tiff','WriteMode','append');
end
Using MATLAB version: R2019b