MATLAB中imageDatastore

构建指定路径下的某一文件夹所有图像

imds = imageDatastore('/home/quifeng/Downloads/wqf/oriented-trans0.2/tr/',...

‘IncludeSubfolders’,true,‘FileExtensions’,’.png’,‘LabelSource’,‘foldernames’)

指定的路径:'/home/quifeng/Downloads/wqf/oriented-trans0.2/tr/'

在上述文件下的包括子文件夹下的所有文件:'IncludeSubfolders',true,

只读取扩展名为“.png”的文件: 'FileExtensions','.png',

每个文件的标签就是其所在文件夹:'LabelSource','foldernames'

Step2: 由于很多deep learning 的框架都需要固定尺寸的图像,因此要进行修改,以下程序代表的修改尺寸:

n=length(imds.Labels);
for i=331:n
    if mod(i,1000)==0
        i
    end
    a=imds.Files(i);
    s=char(a);
    I=imread(s);
    I=imresize(I,[227,227]);
    imwrite(I,s);
end

Step3: 当文件所在的文件夹不是其标签时,需要修改标签,由于规律不同,修改标签的方式也不同,本例中表示在文件名的后数第4个字符表示他们的标签。

n=length(imds.Labels);
for i=1:n
    a=imds.Files(i);
    s=char(a);
    imds.Labels(i)=s(end-4);
end

 

其他imagedatastore函数

MATLAB中imageDatastore_第1张图片

 

你可能感兴趣的:(MATLAB中imageDatastore)