利用Matlab生成文本格式的图像目录及分类标签

话不多说,直接上代码,有问题请留言

clc;clear;close;
%% 生成txt格式的图像分类标签
path='D:\人工智能\图像识别数据\';
folders=dir(path);% dir是direcory的缩写,是目录的意思,返回的folders是结构体,包含所有的目录和两个特殊的目录,一个是“.”,代表该文件夹本身,还有一个是“..”,代表该文件夹的上一层文件夹
fid_train=fopen('D:\人工智能\图像识别数据\train.txt','wt');
fid_test=fopen('D:\人工智能\图像识别数据\test.txt','wt');
num_folders=numel(folders);
for i=3:num_folders
    folders_name=folders(i).name;
    files=dir([path folders_name '\*.jpg']);% 仅列出里面jpg格式的文件
    x=numel(files);
    y=randperm(x);% 打乱图像的顺序
    for j=1:x
        if j<=390
            fprintf(fid_train,'%s %s\n',['\' folders(i).name '\' files(y(j)).name],folders_name);% 在train.txt里面写入目录及标签
        else
            fprintf(fid_test,'%s %s\n',['\' folders(i).name '\' files(y(j)).name],folders_name);% 在test.txt里面写入目录及标签
        end
    end
end
fclose(fid_train);
fclose(fid_test);

效果如下:

train.txt

\1\0483.jpg 1
\1\0123.jpg 1
\1\0393.jpg 1
\1\0458.jpg 1
\1\0074.jpg 1
\1\0367.jpg 1
\1\0236.jpg 1
\1\0471.jpg 1
\1\0291.jpg 1
\1\0052.jpg 1

....................

test.txt

\1\0056.jpg 1
\1\0012.jpg 1
\1\0372.jpg 1
\1\0010.jpg 1
\1\0414.jpg 1
\1\0423.jpg 1
\1\0355.jpg 1
\1\0411.jpg 1
\1\0311.jpg 1
\1\0138.jpg 1
\1\0386.jpg 1
\1\0473.jpg 1
\1\0178.jpg 1
....................

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页