2015-06-23 25 views
0

我需要在matlab中保存一组预处理图像,从而生成灰度图像。问题是这些预处理图像的像素值高于255.如果我使用imwrite()将它们保存为例如.PNG文件,那么matlab是否将值标准化为[0,255]或不是?我是否需要以另一种格式保存图像以保持其原始值?在MATLAB中保存每像素超过8位的图像

+0

你的意思是每个像素8字节? – user1538798

回答

2

您可以使用bitdepth参数来设置该参数。

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

当然,并不是所有的图像格式支持所有位深度的,所以一定要确保你选择了正确的格式为您的数据。

+0

如果我现在没有bithdepth怎么办?这也有可能吗? – mad

+1

@mad不可以。你不能在bitdepth中放置一个随机数。文件格式是标准化的,所以虽然它们在某些参数上很灵活,但不能放置你想要的数字。所以15点是不可能的。检查fileformat standads以确保它支持你想要的内容 –

+1

2^16 = 65536,这意味着16位可以存储0到65535的像素@mad –