2015-06-23 54 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 –