首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Matlab中读取jpeg文件失败

在Matlab中读取jpeg文件失败
EN

Stack Overflow用户
提问于 2018-11-06 06:04:49
回答 2查看 2.3K关注 0票数 0

我试图用imread打开图像,但是它keEps告诉我文件不存在。

这是来自命令窗口的消息

代码语言:javascript
运行
复制
   Error using imread>get_full_filename (line 516)
   File "Pic1.jpg" does not exist.

   Error in imread (line 340)
       fullname = get_full_filename(filename);

   Error in ImageDetection (line 2)
   img1 = imread('Pic1.jpg');

下面是它从函数本身引用的代码部分

代码语言:javascript
运行
复制
       if (fid == -1)

       if ~isempty(dir(filename))
       % String 'Too many open files' is from strerror.
       % So, no need for a message catalog.
       if contains(errmsg, 'Too many open files')            
           error(message('MATLAB:imagesci:imread:tooManyOpenFiles', filename));
       else
        error(message('MATLAB:imagesci:imread:fileReadPermission', filename));
       end
    else
     error(message('MATLAB:imagesci:imread:fileDoesNotExist', filename));<--LINE 516
    end 
代码语言:javascript
运行
复制
if isempty(fmt_s)
   % The format was not specified explicitly.

   % Get the absolute path of the file
   fullname = get_full_filename(filename);  <--LINE 340
EN

回答 2

Stack Overflow用户

发布于 2018-11-06 19:50:22

图像不在当前目录(或路径)中

如果图像位于工作目录中,则可以将其命名为“Pic1.jpg”。但是,MATLAB并不会搜索计算机上的所有文件夹。例如,如果您的程序在C:\Users\user\Documents\MATLAB中运行,并且映像在C:\Users\user\Pictures中,则可以使用以下方法引用该图片:

  1. 绝对路径("C:\Users\user\Pictures\Pic1.jpg")
  2. 相对路径("..\..\Pictures\Pic1.jpg")

通常,如果图片只存在于您的程序中,它将位于同一个目录中,因此您不需要使用".."来移动任何目录。

如果您希望用户能够在每次运行程序时选择一张图片,我建议您查看一下uigetfile。如果您想知道更多关于MATLAB在哪里搜索文件的信息,请参见这篇文章

其次,您可能需要检查您的文件名。虽然看起来很明显,但有时很难注意到简单的拼写错误,例如"Pic1.jpg“与"Pic1,jpg”和"Pic1.jpeg“

票数 2
EN

Stack Overflow用户

发布于 2018-11-06 06:16:38

在发生错误的代码行的上方,编写一条新行:

代码语言:javascript
运行
复制
dir

若要在提示符中输出当前文件夹的文件,请检查文件名是否准确地出现在那里。你能把输出抄下来吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53166530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档