批量随机裁剪matlab

可以在一张分辨率较大的图片上,随机裁剪出特定尺寸的小图片存入指定的文件夹中。
可以进行读取文件夹中所有大尺寸的图片批量操作。文件夹中的图片名需统一命名。

clear all;
clc;
%取样图片函数
 Files=dir('F:\lingang\data\neg\orignel\*.jpg');
 N=length(Files);
 Names={};
for k = 1:N  
        B=imread(strcat('F:\lingang\data\neg\orignel\',num2str(k),'.jpg'));
        a=127;%裁剪宽度
        b=127;%裁剪长度
        c=20;%每张照片裁剪数量
        %size(第一个行数,第二个列数)
        X=size(B,1); %横向列数--
        Y=size(B,2); %纵向列数|
        for j= 1:c
          y=randperm(X-128,1);
          x=randperm(Y-128,1);
%           x=unidrnd(X-150,1,1);%宽的随机数()
%           y=unidrnd(Y-150,1,1);%宽的随机数()
          
          C=imcrop(B,[x y a b]);%利用裁剪函数裁剪图像,其中,(a,b)表示裁剪后左上角像素在原图像中的位置;c表示裁剪后图像的宽,d表示裁剪后图像的高
          % 关于矩形区域[Xmin Ymin Width Height],Xmin是横向第Xmin个像素,Ymin是纵向第Ymin个像素;
          % B = imresize(B,0.5,'bilinear');
          A=k*1000+j;
          imwrite(C,strcat('F:\lingang\data\neg\neg1\',num2str(A),'.jpg'));% 保存帧
        end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值