1. 程式人生 > >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變數中了