matlab在指定figure中画图_matlab保存fig为图片语句

matlab在指定figure中画图_matlab保存fig为图片语句转载:http://www.ilovematlab.cn/thread-296430-1-1.html最近看了一些用matlab对图形图片进行保存的帖子和资源,关于图像保存的方法给大家分享一下这些方法是大家所使用方法的一个总结.如今常用的方法有三种printf,imwrite,saveas下面分别介绍一下:imwritemwrite将图像数据写成图像文件,一般用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

转载:http://www.ilovematlab.cn/thread-296430-1-1.html



最近看了一些用matlab对图形图片进行保存的帖子和资源,关于图像保存的方法给大家分享一下这些方法是大家所使用方法的一个总结.

如今常用的方法有三种printf,imwrite,saveas下面分别介绍一下:
imwrite
mwrite将图像数据写成图像文件,一般用于图像处理,当我们使用imshow将一副图像使显示在坐标系上时,我们可以使用如下方式保存图像

   I=getimage(gcf); % 获取坐标系中的图像文件数据
   imwrite(I,’myphoto.jpg’)%保存图像为文件
同时可以使用下面的形式保存图片数据,把图片保存到指定文件夹,并对文件名进行编号
   f=getframe(gcf);
   imwrite(f.cdata,[‘C:\Users\shitao\Desktop\s4\’,int2str(i),’.jpg’]);
这个函数在视频分帧时,我经常使用,相对saveas的保存速度,个人感觉效率比较高,下面举个例子

  1. clc;close all;clear all;
  2. Img=imread(‘1.jpg’);
  3. if ndims(Img)==3
  4. I=rgb2gray(Img);
  5. else
  6. I=Img;
  7. end
  8. I=im2bw(I,graythresh(I));
  9. [m,n]=size(I);
  10. imshow(I);title(‘binary image’);
  11. txt=get(gca,’Title’);
  12. set(txt,’fontsize’,16);
  13. L=bwlabel(I);
  14. stats=regionprops(L,’all’);
  15. set(gcf,’color’,’w’);
  16. set(gca,’units’,’pixels’,’Visible’,’off’);
  17. q=get(gca,’position’);
  18. q(1)=0;%设置左边距离值为零
  19. q(2)=0;%设置右边距离值为零
  20. set(gca,’position’,q);
  21. for i=1:length(stats)
  22. hold on;
  23. rectangle(‘position’,stats(i).BoundingBox,’edgecolor’,’y’,’linewidth’,2);
  24. temp = stats(i).Centroid;
  25. plot(temp(1),temp(2),’r.’);
  26. drawnow;
  27. end
  28. frame=getframe(gcf,[0,0,n,m]);
  29. im=frame2im(frame);
  30. imwrite(im,’a.jpg’,’jpg’);%可以修改保存的格式

复制代码





saveas


Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】

  1. % saveas(figure_handle,filename,fileformat)
  2. plot(1:10);
  3. saveas(gcf,‘myfig.jpg’)

复制代码

它有三种书写方式


saveas(gcf,[‘D:\保存的数据文件\方法1.png’])


saveas(gcf,[‘D:\保存的数据文件\方法2′,’.png’])
saveas(gcf,[‘D:\保存的数据文件\’,’方法3′,’.png’])



用saveas命令保存图片。
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】。  
saveas的三个参数:  
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3。
(2)文件名。  
(3)单引号字符串,指定存储格式。
例:
% saveas(figure_handle,filename,fileformat) plot(1:10);
>> saveas(gcf,[‘D:\保存的数据文件\方法1.png’])
>> saveas(gcf,[‘D:\保存的数据文件\方法2′,’.png’])
>> saveas(gcf,[‘D:\保存的数据文件\’,’方法3′,’.png’])

把图片保存到指定目录并编号


saveas(gcf,[‘C:\Users\shitao\Desktop\s3\’,int2str(i),’.jpg’]);

  1. mov=aviread(‘C:\Users\shitao\Desktop\s5\2.avi’);%读入视频
  2. Vframes=size(mov,2);%读取视频的帧数
  3. figure
  4. for i=1:Vframes
  5. % strtemp=strcat(‘C:\Users\shitao\Desktop\s2\’,int2str(i),’.’,’jpg’);%将每帧转成.jpg的图片
  6. I=mov(i).cdata;
  7. imshow(I);
  8. %此处添加图像处理内容,如对图像画框,画线等操作
  9. saveas(gcf,[‘C:\Users\shitao\Desktop\s2\’,int2str(i),’.jpg’]);
  10. %imwrite(mov(i).cdata(:,:,:),strtemp); %把图像写入磁盘
  11. end

复制代码

saveas与imwrite的区别

saveas(handle[‘目录‘,’文件名‘])  
如果只有一幅图,handle设为gcf
如果有多副,handle需单独设置
imwrite(image_data,[‘directory’,’filename’])
需要与getframe连用
两个命令都可以用来保存图像,区别在于
1、背景色:saveas保存的图像 背景色自动设置为白色,imwrite保存图像为所见即所得
2、图像大小: saveas无视你设置的图像大小,按默认保存,imwrite保存所见即所得

  1. contrast example:在当前目录下image文件夹下找到两个图像,对比一下
  2. clear
  3. clc
  4. x=0:pi/100:2*pi;
  5. y=sin(x);
  6. h=plot(x,y);  % h为plot线的句柄handle
  7. set(gcf,’position’,[80,100,400,600])
  8. % 将图像设置为距屏幕左下角 [80,像素
  9. % 图像大小设置为400*600像素
  10. set(gcf,’color’,[1,1,1]) % 背景色设置为白色
  11. mkdir image
  12. % 在当前文件夹下新建image文件夹,如果已存在会warning,不影响运行
  13. % ========================
  14. saveas(gcf,[‘image’,’test1.jpg’])
  15. % ========================
  16. f=getframe(gcf);
  17. imwrite(f.cdata,[‘image’,’test2.jpg’])

复制代码

printf

用法:print(图形句柄,存储格式,文件名);

  • 图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.用gcf可以获取当前窗口句柄。
  • 指定存储格式。常用的有:
    • png格式:‚-dpng‘ (推荐这一种,与bmp格式一样清晰,文件也不大)
    • jpeg: ‚-djpeg‘(文件小,较清晰)
    • tiff: ‚-dtiff‘
    • bmp: ‚-dbitmap‘(清晰,文件极大)
    • gif: ‚-dgif‘(文件小但不清晰)

例如

  1. <font color=”#000000″ size=”2″>% print(figure_handle,fileformat,filename)
  2. x=-pi:2*pi/300:pi;
  3. y=sin(x);
  4. plot(x,y);
  5. %Matlab根据文件扩展名,自动保存为相应格式图片,另外路径可以是绝对也可以是相对
  6. print(gcf,’-dpng’,’abc.png’)   %保存为png格式的图片到当前路径</font>

复制代码

注意:print函数必须紧跟在plot函数之后使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194614.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OV7725鹰眼摄像头

    OV7725鹰眼摄像头OV7725鹰眼摄像头如何使用?目前的ov7725鹰眼摄像头,基本上用的都是山外的库,所以今天我们主要根据山外的库,基于k60芯片,给大家具体的讲解。1.摄像头初始化首先是摄像头的第一步就是初始化,这个我们直接去调用就行!camera_init(imgbuff);当然小伙伴在这里需要记住,需要配置中断优先级!对于我们使用摄像头的车而言,一般优先级最高的就是摄像头,所以小伙伴要记着给它分配优先级!我这里是分了五个优先级!大家也可以根据自己的需求,进行自主分配。NVIC_SetPriorit

    2022年9月23日
    2
  • Postman报错Unsupported Media Type

    Postman报错Unsupported Media Type报错信息如下:{“timestamp”:”2018-12-06T01:37:11.184+0000″,”status”:415,”error”:”UnsupportedMediaType”,”message”:”Contenttype’text/plain;charset=UTF-8’notsupported”,”path”:”/testgu/ycyzha…

    2022年5月9日
    229
  • matlab画心形曲线_笛卡尔心形曲线方程

    matlab画心形曲线_笛卡尔心形曲线方程MATLAB心形曲线基本知识clc;指令可以清除屏幕,所以你可以通过clc指令clcholdon;指令可以将画的图连起来holdon第一种实现方式cleart=-pi:pi/100:pi;r=abs(t);x=r.*sin(t);y=r.*cos(t);plot(x,y)title(‘Iloveyou.’)axisequal…

    2022年10月17日
    2
  • Python实现五子棋人机对战 | CSDN博文精选「建议收藏」

    Python实现五子棋人机对战 | CSDN博文精选「建议收藏」作者|吴小鹏来源|数据札记倌(ID:Data_Groom)五子棋是常见的一款小游戏,五子棋问题是人工智能中的一个经典问题。这篇文章主要介绍了Python版本五子棋的实现代码,大家可以做个参考,与我的傻儿子对弈一下。简述虽然计算机已经几乎激活成功教程了五子棋的取胜秘籍,甚至给出了取胜的具体方案,然而,对人来说,五子棋还是非常有玩头的。我们往往有五子棋的技巧性和全局观远远比不上象棋,围棋之类的感…

    2022年6月21日
    29
  • 开发微信公众号步骤_微信公众平台开发

    开发微信公众号步骤_微信公众平台开发磨刀不误砍柴工微信公众号大家肯定都用过。目前微信公众号主要分为订阅号和服务号,每种账号又分为未认证和已认证,它们的差别主要在于具有不同的接口权限,下图(引用自微信开发实战系列)是一些例子:不同类型公众号的权限总体来说,服务号权限>订阅号权限,认证账号权限>未认证账号权限。申请订阅号比较简单,服务号相对复杂点,另外要认证的话还要额外提交一些材料。我们可以根据不同的业务需求去申请不同类型的账号,基本上常用的权限列表已经可以满足大部分的场景。开发微信公众号本质上和通常.

    2022年9月28日
    3
  • 推荐一点计算机基础相关博客

    推荐一点计算机基础相关博客计算机基础https://www.cnblogs.com/edisonchou/category/625054.html阮一峰博客https://www.ruanyifeng.com/blog/archives.html小灰灰算法https://juejin.cn/user/2137106333828663十大排序:https://juejin.cn/post/6844903444365443080iOS相关的:iOS底层总结:https://www.jianshu.com/u/40

    2022年7月27日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号