Matlab中圖片保存的5種方法


matlab的繪圖和可視化能力是不用多說的,可以說在業內是家喻戶曉的。
Matlab提供了豐富的繪圖函數,比如ez**系類的簡易繪圖函數,surf、mesh系類的數值繪圖函數等幾十個。另外其他專業工具箱也提供了專業繪圖函數,這些值得大家深入學習好久。

今天我只是討論下如何保存這些由Matlab繪制出來的圖像呢?當然借助第三方截圖軟件,就算了!

1、使用imwrite 函數

如圖像是img,則可以使用 imwrite(img,'result.jpg'); 這種方法保存圖像大小和顯示的大小事一樣的。下面幾種方法大小基本不一樣(sg我測試的)


2、直接另存為
在figure中使用菜單file——>saveas——>選擇保存形式(fig,eps,jpeg,gif,png,bmp等),這個的缺點是另存為的圖像清晰度有很大的犧牲

3、復制到剪貼板
在figure中使用菜單edit——>copy figure——>此時圖像就復制到剪貼板了,我們可以借助其他軟件(比如:繪圖板)保存為需要的圖片

4、saveas命令格式
Matlab提供直接的saveas函數可以將指定figure中的圖像或者simulink中的框圖進行保存,相當於【文件】中的【另存為】

    1. % saveas(figure_handle,filename,fileformat)
       
    2. plot(1:10);
       
    3. saveas(gcf,‘myfig.jpg’)         (這種保存圖像大小和源圖像發生較大差別,為什么呢?就是因為句柄不一樣的緣故。可以嘗試
    4. set (gcf,'Position',[500,500,500,500], 'color','w') %大小設置。 sg我親自測試5、print函數
      print函數原本不是用來進行圖像保存了,而是操作打印機的,但是這里我們可以借用下

       

      1. % print(figure_handle,fileformat,filename)
         
      2. x=-pi:2*pi/300:pi;
         
      3. y=sin(x);
         
      4. plot(x,y);
         
      5. %Matlab根據文件擴展名,自動保存為相應格式圖片,另外路徑可以是絕對也可以是相對
         
      6. print(gcf,'-dpng','abc.png')   %保存為png格式的圖片到當前路徑

      復制代碼

      另外有網友向我反映,有時我們只有一個Matlab圖像的fig文件,但沒有該圖像的相關坐標數據,那我們如何獲取fig圖像的數據呢,這個其實比較好辦

      1、將那個fig文件保存到Matlab的搜索路徑下,雙擊打開它
      2、在Matlab的command中輸入如下內容

      1. h=get(gcf,'chidren')
         
      2. data=get(h,{'xdata','ydata','zdat a'})
         
      3. %此時圖形中所有圖像的三維數據x,y,z將會以結構體的形式保存到data變量中了
        1. from: http://blog.csdn.net/lsg32/article/details/8111956


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM