阅读MATLAB中的图像权限



我正在尝试访问matlab接口中的图像我的代码如下:

global  im2 im  
axes(handles.axes4); 
[path1, user_cance]= imgetfile();
if user_cance 
    msgbox(sprintf('Error'), 'Error', 'Error'); 
    return
end
srcFiles = dir('C:UsersUserDesktopimages testyale facesyalefaces..');    
 % yale faces is the database folder 
for i = 1 : length(srcFiles)
    file_name=dir(strcat('C:UsersUserDesktopimages testyale facesyalefaces')); 
  im2=imread(strcat('C:UsersUserDesktopimages testyale facesyalefaces',file_name(i).name));  
    %processing of read image
end

问题是,当我运行代码时,它会产生以下错误:

无法打开文件" c: users user user desktop images test yale faces yalefaces" 阅读; 您可能没有阅读许可。

有人知道如何解决这个问题吗?

进行目录列表(无通配符)时,您将获得当前目录'.'和Parent Directory以及'..'。您无法阅读这些类似文件,因为它们是目录。您需要在尝试使用IMRead读取目录之前过滤这些目录。

files = dir('C:UsersUserDesktopimages testyale facesyalefaces'); 
% Remove directories
files = files(~[files.isdir]);

作为附带说明,很难说出您的代码在做什么,但是我敢肯定它不会做您希望的。

似乎您想在数据库中获取所有图像。如果是这样,您需要做类似的事情。

folder = 'C:UsersUserDesktopimages testyale facesyalefaces';
% Get a list of all files in this folder
files = dir(folder);
files = files(~[files.isdir]);
for k = 1:numel(files)
    % Append the folder with the filename to get the path and load
    im2 = imread(fullfile(folder, files(k).name));
end

我高度劝阻使用strcat来构建文件路径,尤其是因为它从每个输入中删除了可能损坏文件名的尾随/领先空间。fullfile是为此而设计的,因此请使用。

最新更新