Matlab实现图像识别(六)

关于反向传播我实在讲不透,自己把公式推算一遍比较好。

既然已经把BP成功搭建起来了,那么接下来做什么呢?接下来把数据集分割一下,一般来说,训练集数据集分割比是2:1的样子差不多。我们仍然用matlab实现分割,既然我们已经知道了如何读取图像,那么存入图像也是简单的:
 

imwrite(img, path);

我们可以把前2/3作为训练集放到一个文件夹,后1/3作为测试集放入另一个文件夹。新建一个脚本move.m,在其中写入如下代码:

path = '101_ObjectCategories';
namelist = dir(path); % 所有名字的集合
name_len = length(namelist);
for i = 1:name_len
    if namelist(i).name == '.',continue,end
    namelist(i).name
    imglist = dir(strcat(path,'\',namelist(i).name)); % 一个名字下的所有图片的集合
    img_len = length(imglist);
    for j = 1:img_len
        if imglist(j).name == '.',continue,end
        img = imread(strcat(path,'\',namelist(i).name,'\',imglist(j).name));
        if(j/img_len < 2/3)
            if ~exist(strcat('train_set\',namelist(i).name),'dir')
               mkdir(strcat('train_set\',namelist(i).name));
            end
            imwrite(img, strcat('train_set\',namelist(i).name,'\',imglist(j).name));
        else
            if ~exist(strcat('test_set\',namelist(i).name),'dir')
               mkdir(strcat('test_set\',namelist(i).name));
            end
            imwrite(img, strcat('test_set\',namelist(i).name,'\',imglist(j).name));
        end
    end
end

代码简单不解释,运行时间可能有1分钟左右。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值