MATLAB導出高清晰圖片
一個寫論文用的小技巧,MATLAB產生的圖片如何導出來合適大小或者符合編輯部要求的圖片:
使用print命令,如下:
用於LaTeX的話,可以使用eps圖片:print -deps fig1
用於word的話,使用分辨率比較高的tif或者png格式即可:print -dtiff -r500 fig1
MATLAB圖片保存方法
print(gcf,'-r300','-dpdf','example1.pdf');
print(gcf,'-r300','-djpeg','example2.jpeg');
imwrite,print,saveas三個函數的區別如下:
在講解之前,希望您區分圖像和圖形,前者就是我們說的位圖,比如數碼相機拍照的相片,后者是矢量圖,就是擴大都不會改變的,比如3d軟件繪制的圖形
imwrite將圖像數據寫成圖像文件,一般用於圖像處理,當我們使用imshow將一副圖像使顯示在坐標系上時,我們可以使用如下方式保存圖像
- I=getimage(gcf); % 獲取坐標系中的圖像文件數據
- imwrite(I,'myphoto.jpg')%保存圖像為文件
saveas就是菜單中的 save as(另存為)命令,將當前坐標系下的圖形保存為圖像文件,不管你坐標系中顯示的圖像還是圖形,一律當成圖形處理,他的本質是截圖(除fig文件外)
print是打印命令,但是可以將當前坐標系中的內容打印到文件,或者打印到剪切板,saveas只是print函數的簡化版
- print(fh,'-dmeta');% 復制到剪切板
1 print的用法
Print(圖形句柄,存儲格式,文件名);
圖形句柄,如果圖形窗口標題欄是’figure 2’,則句柄就是2。用gcf可以獲取當前窗口句柄。
指定存儲格式。常用的有:
PNG格式:,‘-dpng’(推薦這一種,與bmp格式一樣清晰,文件也不大)
JPEG: ‘-djpeg’(文件小,較清晰)
TIFF: ‘-dtiff’
BMP: ‘-dbitmap’(清晰,文件極大)
GIF: ‘-dgif’ (文件小但不清晰)
2
saveas
的用法
Saveas(
圖形句柄,文件名,文件格式)
文件格式:同print一樣
k=0.8;
set(gcf,'units',get(gcf,'paperunits'));
set(gcf,'paperposition',get(gcf,'position')*k);
saveas(gcf,'test.tif','tiff');
1、print 最常用
可作為日常繪圖的首選。對格式,分辨率等各項指標做非常細致的定義,適合直接出圖。
2、saveas,偶爾用
雖然說保存的圖像都是默認大小,無法更改,但關鍵是可以保存fig圖像
saveas可以保存matlab自認的fig格式的圖像,也就是說,對於將來有可能需要細致修改以方便發表論文的圖像,保存為fig更適合。畢竟,有時 候各期刊雜志對圖像命名及色彩等要求不一,甚至我們繪圖有時也會有這樣那樣的疏忽,而有的圖像也不是一下就可以做出來的,保存fig圖像用來最后細修很有 意義。
saveas(h,'filename','format')
如果只有一幅圖,handle設為gcf;如果有多副,handle需單獨設置
例如:
saveas(gcf, 'D:\data\dif_model\output', 'fig')
saveas(gcf, 'D:\data\dif_model\output', 'bmp')
3、imwrite :不常用。
與getframe 結合使用,適合於保存截圖,當機器運行速度變慢時,批量成圖可能會有錯誤。他的優點在於可以為下一步做movie或gif動圖做准備
matlab 保存畫的圖像時背景會自動就白色,怎么才能保存原來的顏色呢?其實可用print,不過先要改變圖形的'inverthardcopy'屬性。例如:
- x=0:.2:2*pi;
- plot(x,sin(x));
- print d:\b1.bmp -dbmp
- set(gcf,'inverthardcopy','off')
- print d:\b2.bmp -dbmp