2011-11-04 142 views
3

我有一組連續命名的100 jpg圖像,我想添加它們以獲得單個圖像。我已經看到here的回答,但它不會和我一起跑,發生了什麼事?導入多個圖像matlab

下面是代碼:

im = imread('C:\Documents and Settings\1026175117_1.jpg'); 
for i = 2:10 
im = imadd(im,imread(sprintf('C:\Documents and Settings\1026175117_%d.jpg',i))); 
end 
im = im/1000; 
imshow(im,[]); 

這裏的錯誤消息:

Error using ==> imread 
Can't open file "C:" for reading; 
you may not have read permission. 

回答

3

反斜槓是sprintf()一個特殊字符,需要轉義。請使用「\\」而不是「\」或嘗試以另一種方式構建文件路徑。 fullfile()是一個很好的方法,所以你只需要使用sprintf作爲文件名部分。另見help sprintf

+0

嗨,約翰科爾比,我用「\\」替代了「\」。有了這個修正並忽略了劃分操作,我得到一個空白圖像 –

+0

嗨約翰科爾比,我用「\\」代替了「\」。有了這個修正,並忽略了劃分操作,因爲圖像是unit8我得到一個空白的矩形。我的圖像是干涉條紋,所以我不知道錯誤是什麼。 –

+0

那麼,空白是由於飽和度,增加i指數變得更清晰和清晰的結果圖像。分割操作返回一個錯誤。有什麼建議麼? –