Image 在matlab中导入多幅图像

Image 在matlab中导入多幅图像,image,matlab,Image,Matlab,我有一组连续命名的100张jpg图片,我想把它们加起来得到一张图片。我已经从中看到了答案,但它并不适用于我,发生了什么 代码如下: 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,[])

我有一组连续命名的100张jpg图片,我想把它们加起来得到一张图片。我已经从中看到了答案,但它并不适用于我,发生了什么

代码如下:

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.

反斜杠是sprintf()的特殊字符,需要转义。请使用“\\”而不是“\”,或者尝试以另一种方式构建文件路径
fullfile()
是一种很好的方法,因此您只需对文件名部分使用sprintf即可。另请参见
帮助sprintf

嗨,John Colby,我用“\\”代替了“\”。通过这个校正,忽略除法运算,我得到了一个空白图像Hi John Colby,我用“\\”代替了“\”。通过此校正并忽略分割操作,因为图像是单位8,我得到一个空白矩形。我的图像是干涉条纹,所以我不知道什么是错误。嗯,空白是由于饱和度,增加I指数变得清晰和清晰的结果图像。除法操作返回一个错误。有什么建议吗?你可以做
double(im)
,然后它会让你对它做常规的数学运算。先这样做,然后只做
im=im+imread(…)
而不是
imadd
。(因为如果将其保留为uint8,则最大值为255)