matlab 图片切割程序

效果如图

可根据选择要切割得行数和列数修改数字即可

程序如下:

max_hang=4;
max_lie=4;
file_path='D:\photo\';  %图像文件夹路径
img_path_list=dir(strcat(file_path,'*.jpg'));%获取该文件夹下所有jpg格式的图像,是一个结构体,有data,name等成员
img_num=length(img_path_list);%获取图像的数量
if img_num >0 %文件夹下有图
    for j=1:img_num  %逐一读取图像
        image_name=img_path_list(j).name;%图像名
        image=imread(strcat(file_path,image_name));%拼接图像名
        [ar,ac,ak] = size(image);%取图像的行数r和列数c
        gao=ceil(ar/max_hang);
        chang=ceil(ac/max_lie);
        for i = 1:max_hang
           for t = 1:max_lie
               chang1=chang*(t-1)+1;
               chang2=chang*t;
               gao1=gao*(i-1)+1;
               gao2=gao*i;              
                if gao2>=ar
                   gao2=ar;
               end
               if chang2>=ac
                   chang2=ac;
               end                
               img_save = image(gao1:gao2,chang1:chang2,:);
           %    img_save =imcrop(image, [118, 85, 255, 255]);
               imshow(img_save);
            imwrite(img_save, strcat('D:\save\',num2str(j),'-', num2str(i),num2str(t),".jpg")); % 保存文件
           end
        end
    end
end

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值