2013-05-22 44 views
-2

我通過我的相機Canon SX-120 IS捕獲圖像。但是當我嘗試在Matlab中處理這些圖像時,會顯示「內存不足」錯誤。我的圖像的尺寸是2736x3648x3 uint8類型。大小是1.05 MB。如何克服這個問題?是由於圖像尺寸或圖像尺寸?是否有任何matlab函數來減少圖像的大小保持質量完好無損?matlab中的圖像「內存不足」錯誤

+0

您的帖子中有很多問題。考慮改爲提出多個問題。另外,當出現「內存不足」問題時,發佈有關操作系統和硬件的信息至關重要。另外,你的問題很模糊:你如何在matlab中處理圖像? – Schorsch

回答

1

在存儲器中的每個圖像時讀入的matlab矩陣的大小將是

2736x3648x3 bites = 29942784 bites ~ 30 MB 

有時用於處理所述圖像必須被轉換從uint8double,在這種情況下,大小將是更大的在8 * 30 = 240 MB。 如果您有這些圖像的陣列(或進行大量處理),則可能導致內存不足。您可以使用imresize功能縮小圖像的尺寸,但圖像質量會丟失。

存儲在文件中的圖像可能是壓縮的(這就是爲什麼我認爲它只需要1.05 MB磁盤)。考慮一次通過將更少數量的圖像讀取到內存來批量處理圖像。

+0

我一次只能處理1個圖像。 imresize很好。謝謝。 – soumyadip93