matlab 对图像进行批量剪切
作者:互联网
如:将图像“ocean.jpg”切割成10*10=100张小图,并保存。
切割后的效果:
代码:
% ********************************************************
% Filename : cut_sekuai
% Author : 批量截图
% Description : 将一个10X10的图CUT成各个小块
% Revision : 2021/09/08
% *********************************************************
%% 将一个10X10的色块图CUT成各个小块
clc; close all;
% mkdir test_data7 %创建新的文件夹
%% 读入数据
mh_img = imread('ocean.jpg');
Wid = size(mh_img,2)
Hig = size(mh_img,1)
sek_wid = floor((Wid/10)) % 新色块的宽下取整
sek_hig = floor((Hig/10)) % 新色块的高下取整
%% 算法处理
save_path = '.\oceann\' % 存储文件夹
newimg_wid = 30; % 剪切图的宽
newimg_hig = 30; % 剪切图的高
for i = 1:10
for j = 1:10
rect = [0+(j-1)*sek_wid,0+(i-1)*sek_hig,newimg_wid,newimg_hig];
%同一行,j列变动在前,i行在后
cut_img = imcrop(mh_img,rect); % 开始剪切
imwrite(cut_img,strcat(save_path,int2str((i-1)*10+j),'.jpg')); %剪切一个保存一个
end
end
标签:10,wid,批量,img,newimg,matlab,剪切,sek 来源: https://blog.csdn.net/guangwulv/article/details/120181800