2012-12-27 90 views
0

我有一個問題:Dmatlab imread或fread?

對不起,我的英語不好。

我有一個灰度3D圖像,我想用matlab做一些圖像處理,我可以讀取這個3D圖像(1000 * 1000 * 1000)作爲.raw或圖像序列。

如果我將它讀作.raw,我將使用fread,我將有一維數組。 如果我將它作爲圖像序列讀取,我將擁有一個3D數組。

那麼什麼是有執行的很短的時間的最佳解決方案?......我們假設我的程序將只瀏覽所有像素...

我的真正的程序會做3D圖像的標籤..什麼是matlab下最好的數據結構呢?

非常感謝!

+1

如果您將其讀爲'1D',請運行:'img_3d = reshape(img_1d,[1000,1000,1000]);'。如果需要,你可以使用'permute()'。 – Serg

回答

0

閱讀關於DICOM。這是醫學圖像的一個標準,例如X線斷層圖(3D圖像)。 Matlab有一個函數dicomread。 link here

+0

感謝你。使用1D陣列的 我可以快速訪問3D數組嗎? – user1930920

+0

我不明白你的問題:) – maskotky

+0

如果我用一維數組代表所有的3D圖像,它會更好,然後使用3D數組? – user1930920