2011-11-04 75 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指数变得更清晰和清晰的结果图像。分割操作返回一个错误。有什么建议么? –