Matlab保存图像的5种方法

此博客转自:https://blog.csdn.net/holybin/article/details/39502077,另外我补充了一些实验结果,还有自己。

1、使用imwrite 函数

如图像是img,则可以使用imwrite(img,'result.jpg'); 这种方法保存图像大小和显示的大小是一样的。下面的方法得到的图像和原图像的大小不一样;下面是用该方法保存的图片


我们注意到,用imwrite保存的图片只有图片本身,没有其他内容。


2、直接另存为

在figure中使用菜单file->saveas->选择保存形式(可以保存为fig,eps,jpeg,gif,png,bmp等格式)。这个的缺点是另存为的图像清晰度有很大的牺牲。

3、复制粘贴

在figure中使用菜单edit->copyfigure,此时图像就复制到剪贴板了。要注意的是在“copy options”中要选择“Bitmap”。

4、用saveas命令

Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:saveas(gca, filename, fileformat),其中的三个参数:

(1)gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。

(2)filename:单引号字符串,指定文件名

(3)fileformat:单引号字符串,指定存储格式

例子:


    
    
  1. saveas(gcf, 'save.jpg'); %保存当前窗口的图像
  2. saveas( 2, 'save.jpg'); %保存Figure 2窗口的图像

下面是用saveas的实验结果:


    我们可以看到,saveas保存的结果,有白边,下面的print函数保存的结果同样也是有白边的。如果想将生成的图片用于后续的图像处理,建议使用imwrite函数,否则,用哪种保存函数都可以。

5、print函数

print函数操作打印机,使用plot函数后紧接着用print函数来保存图像。print的格式为: print(figure_handle,fileformat,filename),其中的三个参数:

(1)figure_handle:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄

(2)fileformat:单引号字符串,指定存储格式:

png格式: '-dpng'

jpeg格式:  '-djpeg',

tiff格式:  '-dtiff'

bmp格式:  '-dbitmap'

gif格式:'-dgif'

emf无损格式:'-dmeta'

(3)filename:文件名

例1:显示图像并保存


    
    
  1. x=-pi: 2*pi/ 1000:pi;
  2. y= cos( x);
  3. plot( x, y); print(gcf, '-djpeg', 'abc.jpg') %绘制图像并保存为jpg格式

例2:不显示图像而直接保存


    
    
  1. x=-pi: 2*pi/ 1000:pi;
  2. set(figure( 1), 'visible', 'off');
  3. plot( x, sin( x)); print(gcf, '-dpng', 'abc.png') %不显示图像直接保存为png格式
发布了9 篇原创文章 · 获赞 13 · 访问量 9512

此博客转自:https://blog.csdn.net/holybin/article/details/39502077,另外我补充了一些实验结果,还有自己。

1、使用imwrite 函数

如图像是img,则可以使用imwrite(img,'result.jpg'); 这种方法保存图像大小和显示的大小是一样的。下面的方法得到的图像和原图像的大小不一样;下面是用该方法保存的图片


我们注意到,用imwrite保存的图片只有图片本身,没有其他内容。


2、直接另存为

在figure中使用菜单file->saveas->选择保存形式(可以保存为fig,eps,jpeg,gif,png,bmp等格式)。这个的缺点是另存为的图像清晰度有很大的牺牲。

3、复制粘贴

在figure中使用菜单edit->copyfigure,此时图像就复制到剪贴板了。要注意的是在“copy options”中要选择“Bitmap”。

4、用saveas命令

Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:saveas(gca, filename, fileformat),其中的三个参数:

(1)gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。

(2)filename:单引号字符串,指定文件名

(3)fileformat:单引号字符串,指定存储格式

例子:


  
  
  1. saveas(gcf, 'save.jpg'); %保存当前窗口的图像
  2. saveas( 2, 'save.jpg'); %保存Figure 2窗口的图像

下面是用saveas的实验结果:


    我们可以看到,saveas保存的结果,有白边,下面的print函数保存的结果同样也是有白边的。如果想将生成的图片用于后续的图像处理,建议使用imwrite函数,否则,用哪种保存函数都可以。

5、print函数

print函数操作打印机,使用plot函数后紧接着用print函数来保存图像。print的格式为: print(figure_handle,fileformat,filename),其中的三个参数:

(1)figure_handle:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄

(2)fileformat:单引号字符串,指定存储格式:

png格式: '-dpng'

jpeg格式:  '-djpeg',

tiff格式:  '-dtiff'

bmp格式:  '-dbitmap'

gif格式:'-dgif'

emf无损格式:'-dmeta'

(3)filename:文件名

例1:显示图像并保存


  
  
  1. x=-pi: 2*pi/ 1000:pi;
  2. y= cos( x);
  3. plot( x, y); print(gcf, '-djpeg', 'abc.jpg') %绘制图像并保存为jpg格式

例2:不显示图像而直接保存


  
  
  1. x=-pi: 2*pi/ 1000:pi;
  2. set(figure( 1), 'visible', 'off');
  3. plot( x, sin( x)); print(gcf, '-dpng', 'abc.png') %不显示图像直接保存为png格式

猜你喜欢

转载自blog.csdn.net/ABV09876543210/article/details/104827853
今日推荐