请问在MATLAB如何中保存大量的gif图像。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问在MATLAB如何中保存大量的gif图像。相关的知识,希望对你有一定的参考价值。

我是将原来的大约50幅640*640的gif图像,剪成10*10个64*64小gif图像并保存。
谢谢

用imread读进来,得到一个矩阵,将这个矩阵分割成10*10个小矩阵,然后用imwrite保存就行了
for i=1:50
k=i+'0'
a=imread([k '.gif'],'GIF')
for m=0:9
for n=0:9
b=a(64*m+1:64*(m+1),64*n+1:64*(n+1));
imwrite(b,[k m+'0' n+'0' '.gif'],'gif');
next
next
next
参考技术A 1. 你会保存gif文件吗、?http://blog.sina.com.cn/s/blog_6163bdeb0100gvbz.html这个网址可以参考下
2.如果会的话用个for循环应该可以保存大量的。

matlab GUI保存axes(坐标轴)上的图像

1.默认方式

matlab GUI默认菜单的保存图像默认为保持全部GUI,包括使用" 菜单->编辑->复制图形"。

2 保存可见区域

2.1 代码

[FileName,PathName] = uiputfile({‘*.jpg‘,‘JPEG(*.jpg)‘;...
                                             ‘*.bmp‘,‘Bitmap(*.bmp)‘;...
                                             ‘*.gif‘,‘GIF(*.gif)‘;...
                                             ‘*.*‘,  ‘All Files (*.*)‘},...
                                             ‘Save Picture‘,‘Untitled‘);
if FileName==0
      disp(‘保存失败‘);
      return;
else
      h=getframe(picture);%picture是GUI界面绘图的坐标系句柄
      imwrite(h.cdata,[PathName,FileName]);
end           

2.2 说明

函数getframe()是为了获取坐标轴中的一帧图像,其返回的对象中有cdata和colormap两个成员。

2.3 效果

技术分享图片

3 保存带坐标轴的区域

3.1代码

new_f_handle=figure(‘visible‘,‘off‘);
new_axes=copyobj(picture,new_f_handle); %picture是GUI界面绘图的坐标系句柄
set(new_axes,‘units‘,‘default‘,‘position‘,‘default‘);
[filename,pathname,fileindex]=uiputfile({‘*.jpg‘;‘*.bmp‘},‘save picture as‘);
if ~filename
     return
else
      file=strcat(pathname,filename);
      switch fileindex %根据不同的选择保存为不同的类型
      case 1
                  print(new_f_handle,‘-djpeg‘,file);
      case 2
                  print(new_f_handle,‘-dbmp‘,file);
      end
end
delete(new_f_handle);

3.2 说明

实际上是新建一个新的坐标图形,将GUI复制到新的图像上,输出新的图像,最后删除新建的图形句柄。

3.3 效果

技术分享图片

参考文献


以上是关于请问在MATLAB如何中保存大量的gif图像。的主要内容,如果未能解决你的问题,请参考以下文章

matlab中如何将输出的figure中的图像保存在我的文档中

matlab GUI保存axes(坐标轴)上的图像

请问,matlab中,如何将一幅从原图截取出来的一部分,还保存为原图的格式呢?

matlab动画如何保存

matlab 透明图像 fig 保存

matlab gui图像带legend保存