Matlab下imwrite,Uint16的深度图像

Posted melodybinbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab下imwrite,Uint16的深度图像相关的知识,希望对你有一定的参考价值。

Matlab下imwrite,Uint16的深度图像

1. 在Matlab命令窗口输入命令:

help imwrite

会有如下解释:

  • If the input array is of class uint16 and the format supports 16-bit data (JPEG, PNG, and TIFF), imwrite outputs the data as 16-bit values. If the format does not support 16-bit values, imwrite issues an error. Several formats, such as JPEG and PNG, support a parameter that lets you specify the bitdepth of the output data.

  • If the input array is of class double, and the image is a grayscale or RGB color image, imwrite assumes the dynamic range is [0,1] and automatically scales the data by 255 before writing it to the file as 8-bit values.

2. 如果你要保存成uint16的图像的矩阵数据是非uint16的类型:

则必须先将double类型转换为uint16的类型,执行命令:

data11=uint16(data1);

结果如下:

3. 然后执行命令:

imwrite(data11,\'image.png\',\'png\',\'bitdepth\',16);

最终得到uint16的灰度图像image.png。如下图所示:

 

以上是关于Matlab下imwrite,Uint16的深度图像的主要内容,如果未能解决你的问题,请参考以下文章

matlab图像处理篇--生成8bit深度图像

Matlab imwrite函数 保存图像会压缩

matlab中怎么修改变量的类型

matlab强制转换uint16转int16

matlab 关于保存图像的问题

MATLAB中如何将imshow后的图片保存成原始大小的?