我是靠谱客的博主 尊敬往事,最近开发中收集的这篇文章主要介绍saveas中参数gcf的理解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:
saveas(gca, filename, fileformat),其中的三个参数:
(1)gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。

(2)filename:单引号字符串,指定文件名
(3)fileformat:单引号字符串,指定存储格式

注意:gcf是获取的当前的窗口句柄,假如说你显示3~4个图像,没有加上

figure (1);
hold on;
figure (2);
hold on;
figure (3);
hold on;

则会出现下列情况,即保存的永远是最后一个显示的图像。
在这里插入图片描述
如上图:I_1和I_4均为同一图像,没有达成我们的目的。

错误代码:


% 1. 看一下变量的类型和大小
% 
% 2. 用imshow命令显示图像,并截图下来提交作业;用saveas命令保存图像;
% 
% 3. 利用imresize命令将图像长宽分别缩小至1/4,以及扩大至4倍,保存图像;
% 
% 4. imbinarize(I),将灰度的lena图二值化,保存图像;
% 


%Q1:
I = imread('./lena_gray.jpg');
I3 = imread('./lena.bmp');
%Q2:
imshow(I);

imshow(I3);

%Q3:
I_1 = imresize(I3,0.25);
saveas(gcf,['image','I_1.bmp']);
I_4=imresize(I3,4);
saveas(gcf,['image','I_4.bmp']);

%Q4:
BW=imbinarize(I);
saveas(gcf,['image','BW']);
%imshow(BW);
%Q5:
    

调整之后的代码:


% 1. 看一下变量的类型和大小
% 
% 2. 用imshow命令显示图像,并截图下来提交作业;用saveas命令保存图像;
% 
% 3. 利用imresize命令将图像长宽分别缩小至1/4,以及扩大至4倍,保存图像;
% 
% 4. imbinarize(I),将灰度的lena图二值化,保存图像;
% 


%Q1:
I = imread('./lena_gray.jpg');
I3 = imread('./lena.bmp');
%Q2:
figure(3);
imshow(I);
hold on;
imshow(I3);

%Q3:
I_1 = imresize(I3,0.25);
figure(1);
imshow(I_1);
hold on ;
saveas(gcf,['image','I_1.jpg']);

I_4=imresize(I3,4);
figure(2);
imshow(I_4)
hold on;
saveas(gcf,['image','I_4.jpg']);

%Q4:
BW=imbinarize(I);

figure(4);
imshow(BW);
hold on;
saveas(gcf,['image','BW.jpg']);
%Q5:
    

最后

以上就是尊敬往事为你收集整理的saveas中参数gcf的理解的全部内容,希望文章能够帮你解决saveas中参数gcf的理解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部