介绍:
在情绪认知的心理学实验中,我们从不同的人脸图片库获取实验所需的实验材料。在正式使用之前往往需要对人脸进行预处理,以控制无关变量对实验结果的影响。常见的预处理有将图片修改为统一尺寸、灰度化。本文介绍Matlab批量修改图片尺寸、灰度化的方法。软件:Matlab; 批量处理: 1.设置处理前图片存放的文件夹位置(百分号%后面的内容为注释)imagePath = 'D:\wechatpaper\ParFor\RawPic\';%要处理的图片文件夹
2.设置处理后图片存放的文件夹位置
imageInputFile = 'D:\wechatpaper\ParFor\pic1\';%将处理后的图片存放在这个位置
3.读取1.中文件夹内的所有图片
imageFiles = dir(imagePath); %%读取目录文件下的所有图片文件
4.计算3.中读取的图片数
numFiles = length(imageFiles);%%获取图片的数量
5.设置处理后图片的尺寸
size_Height = 300; %处理后,图片高400像素size_Width = 400; %处理后,图片宽300像素
6.批量处理图片尺寸和以及灰度化
parfor i=3:numFiles %%matlab并行 其实和for一个用法 imageFile = strcat(imagePath,imageFiles(i).name); %%strcat()函数经常出现在批量处理的时候,这个时候我们需要用到for循环,然后这个函数能够让变量和路径产生一些关系,这个时候我们就可以对其进行批量处理。 A = imread(imageFile); %%读入图片 B = imresize(A,[size_Width size_Height]); %%修改尺寸 C = rgb2gray(B); %%将图片灰度化 imwrite(C,strcat(imageInputFile,imageFiles(i).name)); %%保存图片到指定位置 。end
处理效果(例):
图1:灰度化效果(左边:处理前;右边:处理后)
处理前 | 处理后 | |
分辨率 | 506像素×614像素 (≈5:6) | 300像素×400像素 (=3:4) |
大小 | 964K | 118K |