【问题标题】:importing multiple images matlab导入多个图像matlab
【发布时间】:2011-11-04 01:35:03
【问题描述】:

我有一组 100 张连续命名的 jpg 图像,我想将它们加起来得到一张图像。我已经看到here的答案了,但是我运行不起来,怎么回事?

代码如下:

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.

【问题讨论】:

    标签: image matlab


    【解决方案1】:

    反斜杠是sprintf() 的特殊字符,需要转义。使用“\\”而不是“\”或尝试以另一种方式构建文件路径。 fullfile() 是一个很好的方法,所以你只需要使用 sprintf 作为文件名部分。另见help sprintf

    【讨论】:

    • 嗨,John Colby,我用“\\”代替了“\”。通过这个校正并忽略除法操作,我得到一个空白图像
    • 嗨,John Colby,我用“\\”代替了“\”。通过这种校正并忽略除法操作,因为图像是 unit8,我得到一个空白矩形。我的图像是干涉条纹,所以我不知道是什么错误。
    • 好吧,空白是由于饱和,增加 i 索引使生成的图像越来越清晰。除法运算返回错误。有什么建议吗?
    • 你可以做double(im) 然后它会让你对其进行常规数学运算。
    • 先执行此操作,然后执行im = im + imread(...) 而不是imadd。 (因为如果您将其保留为 uint8,它将最大为 255)
    猜你喜欢
    • 1970-01-01
    • 2017-12-31
    • 2021-03-03
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多