图片批量处理
注:学习心得,仅供参考。如有错误,请不吝赐教。
本文主要介绍如何利用Matlab进行图像的批量处理:包括图像大小转换、格式转换、图像保存等操作。
源代码--Matlab
%%%%%--------------------------------------------------------------------
%
%----本程序功能:读取指定文件夹下的所有图片,改变尺寸后再保存。
%
%%%%%--------------------------------------------------------------------
clc;
clear;
% PathName = '.\train\';%指定当前程序所在路径下的文件夹
PathName = 'D:\work\OriData\';%指定其他路径下的文件夹
Num = dir([PathName,'*.JPG']);%关联文件夹下某种类型的文件
% if ~exist('newData','dir')%若当前工作路径下不存在,则创建新文件夹newData
% mkdir('newData')
% end
% paths=[pwd,'\newData'];%在当前路径下生成新的存储路径
fprintf('处理ing,请稍等...\n');
for i=1:length(Num)
FileName = Num(i).name;
trainImg = imread([PathName FileName]);
newImg = imresize(trainImg,[112 92]);%统一尺寸
newImg = rgb2gray(newImg);
newName = num2str(Num(i).name(1:end-4));%提取原图像文件名-不含格式
fileName = strcat('D:\work\newData\',newName,'.bmp');%指定新的存储路径+文件名+格式
imwrite(newImg,fileName);%保存图像
% figure;
% subplot(121);imshow(trainImg);
% subplot(122);imshow(newImg);
% close all;
end
fprintf('处理Over,请稍等...\n');