利用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
....................

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值