Matlab归一化图片

%在同样的文件夹结构、同样的位置
%把指定文件夹以同样的图片类型都转化为32*32的图片
clear;close all;clc;

pathRead='C:\Users\Dy\Desktop\视频真实数据';
pathSave='C:\Users\Dy\Desktop\归一化后的图像';
dirList=dir(pathRead);%读取文件夹列表,这种方式读取会保留原文件.(在结构体中第一个)和上一层目录..(在结构体第二个)
countList=length(dirList);%文件夹个数
for numList=3:countList%文件夹从3开始
    %根据这个过滤掉在此文件夹可能的train.txt文件
    %由于这里面保存数据的文件夹都是0,123..所有用了下面的判断
    if(length(dirList(numList).name)>=2)
        continue;
    end
    fileName=dir([pathRead,'\',dirList(numList).name]);%读取子文件夹中的图片
    fileSum=length(fileName);%统计子文件夹中的文件个数
    
    %在存储路径,创建对应的文件夹
    pathCreDir=[pathSave,'\',dirList(numList).name,'\'];
    mkdir(pathCreDir);
    
    for fileNum=3:fileSum%文件从3开始
        tempName=[pathRead,'\',dirList(numList).name,'\',fileName(fileNum).name];%依次得到具体图片文件的完整路径
        temp=imread(tempName);%读入图片
        normtemp=imresize(temp,[32 32]);%归一化图片,尺寸全部改为32*32
        %保存在和源文件一样的对应文件夹内,按同样的文件名、文件类型保存
        imwrite(normtemp,[pathCreDir,fileName(fileNum).name]);
    end
end

 

posted @ 2015-05-20 09:44  菜鸡一枚  阅读(1927)  评论(0编辑  收藏  举报