2

我有一个 uint16 数据类型的 tiff 图像堆栈,我想将其转换为 uint8 数据类型。我不确定如何在斐济做到这一点。

我已经在斐济加载了堆栈,并尝试在导出时更改数据类型。但我在斐济导出选项中找不到任何用于指定数据类型的选项卡。

关于如何在斐济或 Python/MATLAB 中执行此操作的建议将非常有帮助。

4

1 回答 1

1

im2uint8()函数可用于在 MATLAB中将图像从uint16(无符号整数 16)转换为(无符号整数 8)。uint8

对于具有单个图像的 .tiff 文件:

Image = imread("Test_Image.tiff");
Image = im2uint8(Image);
imshow(Image);

对于具有多个图像和保存转换/转换图像的 .tiff 文件:

使用imread()函数循环读取图像,第二个参数Image_Index对应于 .tiff 图像集合中的图像编号,可用于获取存储在文件中的整个图像数据。使用imwrite()inappendWriteMode将允许将每个转换后的图像保存到一个文件中,在此示例中命名为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

使用 MATLAB 版本:R2019b

于 2020-10-07T04:43:12.450 回答