在matlab中保存每像素超过8位的图像

Saving images with more than 8 bits per pixel in matlab

我需要在matlab中保存一组预处理图像,得到灰度图像。问题是这些预处理图像的像素值高于 255。如果我用 imwrite() 将它们保存为例如 .PNG 文件,matlab 是否将这些值标准化为 [0,255] 或否?我是否必须以另一种格式保存图像以保留其原始值?

您可以使用 bitdepth 参数进行设置。

imwrite(img,'myimg.png','bitdepth',16)

当然,并非所有图像格式都支持所有位深度,因此请确保为您的数据选择正确的格式。