永发信息网

matlab中imwrite和saveas的区别

答案:2  悬赏:80  手机版
解决时间 2021-03-06 20:13
  • 提问者网友:我们很暧昧
  • 2021-03-06 15:57
matlab中imwrite和saveas的区别
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-03-06 17:15
您好,很高兴为您解答。
这两个都是图片的保存函数。imwrite是直接地原封不动地将矩阵变成图片保存,而后者保存则经过压缩等优化处理然后进行保存,类似于其他软件的保存,所以后者保存的清晰度较低。
另外后者还可以用于Matlab画出来的figure和simulink框图的保存。
全部回答
  • 1楼网友:低音帝王
  • 2021-03-06 17:23
matlab中saveas(handle,['目录','文件名']) 如果只有一幅图,handle设为gcf 如果有多副,handle需单独设置 matlab中imwrite(image_data,['directory\','filename']) 需要与getframe连用 两个命令都可以用来保存图像,区别在于 1、背景色:saveas保存的图像 背景色自动设置为白色,imwrite保存图像为所见即所得 2、图像大小: saveas无视你设置的图像大小,按默认保存,imwrite保存所见即所得 contrast example:在当前目录下image文件夹下找到两个图像,对比一下 clear clc x=0:pi/100:2*pi; y=sin(x); h=plot(x,y); % h为plot线的句柄handle set(gcf,'position',[80,100,400,600]) % 将图像设置为距屏幕左下角 [80,100]像素 % 图像大小设置为400*600像素 set(gcf,'color',[1,1,1]) % 背景色设置为白色 mkdir image % 在当前文件夹下新建image文件夹,如果已存在会warning,不影响运行 % ======================== saveas(gcf,['image\','test1.jpg']) % ======================== f=getframe(gcf); imwrite(f.cdata,['image\','test2.jpg']) %% 也可以像下面这样用 % [x,map]=getframe(gcf); % imwrite(x,'image\test2.jpg')
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯