无法在Matlab中读取jpeg文件



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

这是来自命令窗口的消息

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');

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

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 

if isempty(fmt_s)
% The format was not specified explicitly.
% Get the absolute path of the file
fullname = get_full_filename(filename);  <--LINE 340

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

如果你的图像在你的工作目录中,你可以用它的名字("Pic1.jpg"(来称呼它。但是,MATLAB不会搜索你电脑上的所有文件夹。例如,如果您的程序在C:UsersuserDocumentsMATLAB中运行,而图像在C:UsersuserPictures中,则可以使用参考图片

  1. 绝对路径("C:UsersuserPicturesPic1.jpg"(
  2. 相对路径("....PicturesPic1.jpg"(

通常,如果图片只是因为您的程序而存在,它会在同一目录中的某个位置,因此您不需要使用".."向上移动任何目录。

如果你想让用户每次运行程序时都能选择一张图片,我建议你查看uigetfile。如果您想了解更多关于MATLAB在哪里搜索文件的信息,请参阅本文。


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

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

dir

要在提示中输出当前文件夹的文件,并检查文件名是否准确显示在那里。你能把输出复制给我们吗?

相关内容

  • 没有找到相关文章

最新更新