如何解决将图像数据类型从uint16转换为uint8
我有一个uint16数据类型的tiff图片堆栈,我想将其转换为uint8数据类型。我不确定在斐济该怎么做。
我已将堆栈加载到斐济,并且尝试在导出时更改数据类型。但是我在斐济导出选项中找不到用于指定数据类型的任何标签。
在斐济或另外在Python / MATLAB中有关如何执行此操作的建议将非常有帮助。
解决方法
在MATLAB中,im2uint8()
函数可用于将图像从uint16
(无符号整数16)转换为uint8
(无符号整数8)。
对于带有单个图像的.tiff文件:
Image = imread("Test_Image.tiff");
Image = im2uint8(Image);
imshow(Image);
对于具有多个图像并保存转换/转换后图像的.tiff文件:
使用imread()
函数以循环的方式读取图像,第二个参数为Image_Index
,它对应于.tiff图像集合中的图像编号。文件。在imwrite()
和append
中使用WriteMode
将允许将每个转换后的图像保存到一个文件中,在本示例中命名为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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。