使用matlab批量的在图片中裁剪指定像素大小的图片,附:matlab代码
for k=1:1
p=k;
q=int2str(p);
path='G:\plant数据\P4\1h\';
i=imread(strcat(path,num2str(k),'.tif'));
[I2,rect] = imcrop(i,[225,225,575,575]);
%若有一个图像为i,在matlab中进行如下操作,imcrop的参数为[2,2,2,2]
%代表左上角坐标为[2,2],裁剪的长度2,宽度为2。
figure(1); imshow(i);
hold on
x1=rect(1);
x2=rect(2);
w=rect(3);
h=rect(4);
rectangle('Position',[x1,x2,w,h], 'EdgeColor','y');
x3=x1+w;
x4=x2+h;
hold off
figure(2); imshow(I2);
imwrite(I2,strcat('G:\plant数据\',num2str(k),'.tif'));
end