%增加数据,通过对图像旋转,并将图像的大小调整回128*128操作来增加数据,****测试数据集
close all;
clear;
%首先创建了5个用来存放旋转后图像的路径,旋转角度分别为0.1,0.5,2.4,4.3和6.3
WTR1='I:\手掌静脉图像\data_rotate_small_resize\test\data_rotate_0.1_resize\';
WTR2='I:\手掌静脉图像\data_rotate_small_resize\test\data_rotate_0.5_resize\';
WTR3='I:\手掌静脉图像\data_rotate_small_resize\test\data_rotate_2.4_resize\';
WTR4='I:\手掌静脉图像\data_rotate_small_resize\test\data_rotate_4.3_resize\';
WTR5='I:\手掌静脉图像\data_rotate_small_resize\test\data_rotate_6.3_resize\';
new_folder1 = WTR1; % new_folder 保存要创建的文件夹,是绝对路径+文件夹名称
new_folder2 = WTR2;
new_folder3 = WTR3;
new_folder4 = WTR4;
new_folder5 = WTR5;
mkdir(new_folder1); % 用mkdir()函数创建文件夹
mkdir(new_folder2);
mkdir(new_folder3);
mkdir(new_folder4);
mkdir(new_folder5);
%原图像放在“PolyU的ROI增强图像”文件夹下,有500个文件夹,标号分别是0001-0500,每个文件夹下有12张图片,标号分别为1_1.jpg到1_12.jpg
for ki=1:500
for j=10:12
I0=['I:\科研\手掌静脉\数据库\ROI Database\PolyU的ROI增强图像\',sprintf('%04d',ki),'\','1_',num2str(j),'.jpg'];
I=imread(I0);%读取原图像
I01=imrotate(I,0.1);%用imrotate命令将图像旋转0.1°
I11=I01(2:128,2:128);%舍弃旋转后图像的第一行和第一类,方便像素数量一致进行下一步的imresize操作。
I1=imresize(I11,[128,128]);
I02=imrotate(I,0.5);
I12=I02(4:129,4:129);
I2=imresize(I12,[128,128]);
I03=imrotate(I,2.4);
I13=I03(8:130,8:130);
I3=imresize(I13,[128,128]);
I04=imrotate(I,4.3);
I14=I04(12:130,12:130);
I4=imresize(I14,[128,128]);
I05=imrotate(I,6.3);
I15=I05(16:130,16:130);
I5=imresize(I15,[128,128]);
%将旋转后的图像写入设置好的路径中 WTR11=strcat(WTR1,num2str(ki),'_',num2str(180+j),'.jpg');
WTR12=strcat(WTR2,num2str(ki),'_',num2str(192+j),'.jpg');
WTR13=strcat(WTR3,num2str(ki),'_',num2str(204+j),'.jpg');
WTR14=strcat(WTR4,num2str(ki),'_',num2str(216+j),'.jpg');
WTR15=strcat(WTR5,num2str(ki),'_',num2str(228+j),'.jpg');
imwrite(I1,WTR11);
imwrite(I2,WTR12);
imwrite(I3,WTR13);
imwrite(I4,WTR14);
imwrite(I5,WTR15);
end
end
用matlab对图像进行批量旋转
最新推荐文章于 2023-12-01 18:41:56 发布