循环保存n张图像 Matlab版

来源:互联网 发布:java是面向对象的吗 编辑:程序博客网 时间:2024/06/06 16:42

实现语句:imwrite(merge,['C:\Users\Administrator\Desktop\spliteImage\splite',num2str(k),'.jpg']);

merge为要保存的图像,'C:\Users\Administrator\Desktop\spliteImage\splite为要保存的路径,splite+num2str(k)为要保存的文件名(即splitek,k取1,2,3,.....n),'.jpg'为要保存的图像的格式

例子:

tar=imread('C:\Users\Administrator\Desktop\颜色匹配\target.jpg');
%figure,imshow(tar);
[row,col,dims]=size(tar);%3000*4500,dims=3
tarR=tar(:,:,1);
tarG=tar(:,:,2);
tarB=tar(:,:,3);
spliteR=zeros(300,450);
spliteG=zeros(300,450);
spliteB=zeros(300,450);%分成300*450大小的图像
k=0;
for i=1:300:row-299
    for j=1:450:col-449  
        k=k+1;
        spliteR=tarR(i:i+299,j:j+449);
        spliteG=tarG(i:i+299,j:j+449);
        spliteB=tarB(i:i+299,j:j+449);
        merge(:,:,1)=spliteR;
        merge(:,:,2)=spliteG;
        merge(:,:,3)=spliteB;
         filename=['C:\Users\Administrator\Desktop\spliteImage\splite',num2str(k),'.jpg'];
         imwrite(merge,filename);
%           imwrite(merge,['C:\Users\Administrator\Desktop\spliteImage\',num2str(k),'.jpg']);
        
    end
end

原创粉丝点击