I = imread('D:\Desktop\临时图片\olivettifaces.gif');%下载图片后分割
I = im2double(I); %将图像读取为double类型
[M, N] = size(I); %获取图像的大小
m = M/20; %每张小图的长
n = N/20;%每张小图的宽
n=round(n);%取整
% figure
count2=1;
for i = 1:M/m
count=1;
for j = 1:N/n/2
small_pic = I((i-1)*m+1 : i*m, (j-1)*n+1 : j*n); %生成小图
imwrite(small_pic, strcat('D:\Desktop\人脸图像\img\',num2str(count2),'\',num2str(count), '.jpg')) %保存每张小图
count = count + 1; %计数加一
% imshow(small_pic);调试时可查看划分效果
end
count2=count2+1;
end
下载Olivetti Faces人脸数据集得到一张包含20*20张人脸图片,如下:
进行图像分割后按不同人物将图片分别存入不同文件夹中 ,效果如下: