Matlab中圖片保存的四種方法

Matlab中圖片保存的四種方法

matlab的繪圖和可視化能力是不用多說的,可以說在業內是家喻戶曉的。Matlab提供了豐富的繪圖函數,比如ez**系類的簡易繪圖函數,surf、mesh系類的數值繪圖函數等幾十個。另外其他專業工具箱也提供了專業繪圖函數,這些值得大家深入學習好久。
今天我只是討論下如何保存這些由Matlab繪製出來的圖像呢?當然藉助第三方截圖軟件,就算了!
1、直接另存爲
在figure中使用菜單file——>saveas——>選擇保存形式(fig,eps,jpeg,gif,png,bmp等),這個的缺點是另存爲的圖像清晰度有很大的犧牲
2、複製到剪貼板
在figure中使用菜單edit——>copy figure——>此時圖像就複製到剪貼板了,我們可以藉助其他軟件(比如:繪圖板)保存爲需要的圖片
3、saveas命令格式
Matlab提供直接的saveas函數可以將指定figure中的圖像或者simulink中的框圖進行保存,相當於【文件】中的【另存爲】 
% saveas(figure_handle,filename,fileformat)
plot(1:10);
saveas(gcf,‘myfig.jpg’)
複製代碼
4、print函數
print函數原本不是用來進行圖像保存了,而是操作打印機的,但是這裏我們可以借用下 
% print(figure_handle,fileformat,filename)
x=-pi:2*pi/300:pi;
y=sin(x);
plot(x,y);
%Matlab根據文件擴展名,自動保存爲相應格式圖片,另外路徑可以是絕對也可以是相對
print(gcf,'-dpng','abc.png')   %保存爲png格式的圖片到當前路徑
複製代碼
另外有網友向我反映,有時我們只有一個Matlab圖像的fig文件,但沒有該圖像的相關座標數據,那我們如何獲取fig圖像的數據呢,這個其實比較好辦
1、將那個fig文件保存到Matlab的搜索路徑下,雙擊打開它
2、在Matlab的command中輸入如下內容 
h=get(gcf,'chidren')
data=get(h,{'xdata','ydata','zdat a'})
%此時圖形中所有圖像的三維數據x,y,z將會以結構體的形式保存到data變量中了
 
 

一種是出來圖形窗口後手動保存(這兒又可以分兩種):

1 直接從菜單保存,有fig,eps,jpeg,gif,png,bmp等格式。

2 edit------〉copy figure,再粘貼到其他程序。

另一種是用命令直接保存(這裏也有兩種):

1 用saveas命令保存圖片。

saveas的三個參數:

(1)圖形句柄,如果圖形窗口標題欄是“Figure 3”,則句柄就是3.

 

(2)文件名。

(3)單引號字符串,指定存儲格式。

例:

saveas(gcf,['D:\MATLAB7\work','yanbao',num2str(k),'.jpg']);

2 使用plot函數後緊接着用print函數。

print的三個參數:

(1)圖形句柄,如果圖形窗口標題欄是“Figure 3”,則句柄就是3.

(2)單引號字符串,指定存儲格式。

用gcf可以獲取當前窗口句柄。

 

png格式:'-dpng'

jpeg:    '-djpeg',

tiff: '-dtiff'

bmp: '-dbitmap'

(3)文件名。

 

 

例:

>> x=-pi:2*pi/300:pi;
>> y=sin(x);
>> plot(x,y);
>> print(gcf,'-dpng','abc.png')   % 保存爲png格式的圖片。

>> figure(2)            % 新建一個句柄爲2的圖形窗口。
>> plot(x,cos(x));    % 在句柄爲2的圖形窗口上畫圖。
>> grid
>> print(2,'-djpeg','C:\abc.jpeg'); %將句柄爲2的圖形保存爲jpeg/jpg格式的圖片,文件名爲'C:\abc.jpeg'。

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