matlab批量图片旋转处理

matlab批量图片旋转处理

我们用于神经网络训练的图片有时候需要自己标记,但比较麻烦,通过一些旋转处理往往可以扩大训练集数目,但是一般我们用一些图像软件处理会使彩色索引图编程RGB图或者灰度图,不能满足我们要求,并且速度比较慢,这里是我用的matlab批量处理原始图像和标记图像程序代码:

clear
path1 ='C:\Users\26594\Desktop\label_images\train_images\images';
path2='C:\Users\26594\Desktop\label_images\train_images\labels';
Files1= dir(strcat(path1));%这是要读取的图像图片的目录
Files2= dir(strcat(path2));%这是要读取的标记图片的目录
j=1;
for i=3:length(Files1)    %图像图片的旋转处理
    x1=Files1(i).name;%取出第一个文件的名称         
    x1=['C:\Users\26594\Desktop\label_images\train_images\images\',x1];
    [a,b]=imread(x1);
    c1=imrotate(a,90);%顺时针旋转90度
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c1,['last_train_images/images/images.',num2str(k),'.png']);
    j=j+1;
    c2=imrotate(a,-90);%逆时针旋转90度
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c2,['last_train_images/images/images.',num2str(k),'.png']);
    j=j+1;
    c3=imrotate(a,180);旋转180度
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c3,['last_train_images/images/images.',num2str(k),'.png']);
    j=j+1;
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(a,['last_train_images/images/images.',num2str(k),'.png']);
    j=j+1;
end
j=1;
for i=3:length(Files2)    %标记图像的旋转处理
    x1=Files2(i).name;%取出第一个文件的名称  
    x1=['C:\Users\26594\Desktop\label_images\train_images\labels\',x1];
    [a,b]=imread(x1);
    c1=imrotate(a,90);
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c1,b,['last_train_images/labels/labels.',num2str(k),'.png']);
    j=j+1;
    c2=imrotate(a,-90);
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c2,b,['last_train_images/labels/labels.',num2str(k),'.png']);
    j=j+1;
    c3=imrotate(a,180);
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(c3,b,['last_train_images/labels/labels.',num2str(k),'.png']);
    j=j+1;
    k = sprintf('%03d',j);%类似‘0001’为前缀的命名方式,数字依次递增  
    imwrite(a,b,['last_train_images/labels/labels.',num2str(k),'.png']);
    j=j+1;
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值