1. 程式人生 > >matlab將矩陣(影象)寫入.raw格式檔案

matlab將矩陣(影象)寫入.raw格式檔案

筆者近期在將bmp影象格式影象轉為raw過程中遇到了一些問題,主要是fwrite在寫入矩陣時的元素順序問題。要想保證儲存後的raw影象能夠正常的用ps開啟,需要將元素按正確的順序儲存。

matlab中fwrite在寫入矩陣時是列優先的,也就是先寫入第1列,再第二列....一直到寫入完畢,所以直接將影象矩陣寫入.raw檔案會導致ps開啟後圖像不對。在寫入時應將影象矩陣的轉置寫入.raw檔案,這樣就對了。

[img, map]=imread('test.bmp');%讀取影象
fid=fopen('test.raw','wb');%存為raw
fwrite(fid, img', 'uint8');%注意將img轉置
fclose(fid);