2012-06-11 146 views
1

我想在Octave/Matlab中保存並加載一組圖像。給出的一般指令in the FAQ似乎不適用於保存和加載(倍頻程3.2.4,Ubuntu 12.04)。Octave:「load:未能加載矩陣常量」

也就是說,使用bg_header_mwlogo_notag.jpg

images = cell(1, 1); 
for i=1 
    images{i} = imread('/tmp/bg_header_mwlogo_notag.jpg'); 
end 
save images; 
load images; 

給出:

error: load: failed to load matrix constant 
error: load: trouble reading ascii file `' 
error: load: reading file 
error: load: cell array element had unexpected name 
error: load: failed to load cell element 
error: load: trouble reading ascii file `images' 
error: load: reading file images 

我如何保存和載入多張圖像,並從一個文件?

+0

我複製了你的測試,它不會給我任何問題。與您的設置相同。 –

+0

@LucaGeretti:謝謝,我已將代碼更改爲應持續提供錯誤消息的內容。 – stackoverflowed

回答

0

從文件加載矩陣的ASCII表示有一些問題。如果你寧願問題

images{i} = double(imread('/tmp/bg_header_mwlogo_notag.jpg')); 

它實際上存儲數值而不是,這對於Matlab來說是非常好的。您可以輕鬆檢查兩個表示是否相等。另一方面,從文件加載這種數字版本的矩陣成功。

+0

謝謝,這工作正常。以double形式存儲似乎會減慢存儲和加載速度,但是這會修復錯誤消息。 – stackoverflowed