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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章