我使用下面提到的代码根据图像的文件名从images_1文本文件中获取图像的文件名作为字符串,并使用它们从目录中读取图像
image_count=1;
for image_count=1:6
file=fopen('D:\Academics\New folder\CUB_200_2011\images_1.txt','r');
C = textscan(file, '%s');
original_image=imread('D:\Academics\New folder\CUB_200_2011\images\%s','C{1}{2*(image_count)}');
imshow(original_image)
end
我能够获取文件名但无法使用它。 此代码显示以下错误 -
'文件'D:\ Academics \新文件夹\ CUB_200_2011 \ images \%s“不存在。
我对matlab有点新意,有人可以帮助我。
答案 0 :(得分:1)
要连接文件路径的某些部分,您必须使用fullfile
imread(fullfile('D:\Academics\New folder\CUB_200_2011\images\',C{1}{2*(image_count)}))
Strcat是另一种选择,但是fullfile负责在任何需要的地方使用一个文件分隔符。
答案 1 :(得分:-1)
您需要更改反斜杠\
以转发斜杠/
,否则一些\
后跟一个字母可能是sprintf
函数中的命令,例如示例\N
或\a
。有关详细信息,请参阅formatSpec
区域中的sprintf documentation。
original_image=imread(sprintf('D:/Academics/New folder/CUB_200_2011/images/%s', C{1}{2*(image_count)}));