我试图用imread打开图像,但是它keEps告诉我文件不存在。
这是来自命令窗口的消息
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
发布于 2018-11-06 19:50:22
图像不在当前目录(或路径)中
如果图像位于工作目录中,则可以将其命名为“Pic1.jpg”。但是,MATLAB并不会搜索计算机上的所有文件夹。例如,如果您的程序在C:\Users\user\Documents\MATLAB
中运行,并且映像在C:\Users\user\Pictures
中,则可以使用以下方法引用该图片:
"C:\Users\user\Pictures\Pic1.jpg"
)"..\..\Pictures\Pic1.jpg"
)通常,如果图片只存在于您的程序中,它将位于同一个目录中,因此您不需要使用".."
来移动任何目录。
如果您希望用户能够在每次运行程序时选择一张图片,我建议您查看一下uigetfile。如果您想知道更多关于MATLAB在哪里搜索文件的信息,请参见这篇文章。
其次,您可能需要检查您的文件名。虽然看起来很明显,但有时很难注意到简单的拼写错误,例如"Pic1.jpg“与"Pic1,jpg”和"Pic1.jpeg“
发布于 2018-11-06 06:16:38
在发生错误的代码行的上方,编写一条新行:
dir
若要在提示符中输出当前文件夹的文件,请检查文件名是否准确地出现在那里。你能把输出抄下来吗?
https://stackoverflow.com/questions/53166530
复制相似问题