matlab中的兩種保存圖像的方法:saveas imwrite.

在寫程序的過程中,使用saveas保存的圖像不符合我的要求,於是在網上尋找解決途徑。看到下面的這篇文章,說的很透徹。作者自己理解的很好,表達的也清楚。轉載過來,希望對更多的朋友有幫助。

matlab中imwrite和saveas的區別

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')

 

轉自:http://hi.baidu.com/ctguyg/item/01f71c8d7e76ced75f0ec107

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章