最近看了一些用matlab對圖形圖片進行保存的帖子和資源,關於圖像保存的方法給大家分享一下這些方法是大家所使用方法的一個總結.
clc;close all;clear all; Img=imread('1.jpg'); if ndims(Img)==3 I=rgb2gray(Img); else I=Img; end I=im2bw(I,graythresh(I)); [m,n]=size(I); imshow(I);title('binary image'); txt=get(gca,'Title'); set(txt,'fontsize',16); L=bwlabel(I); stats=regionprops(L,'all'); set(gcf,'color','w'); set(gca,'units','pixels','Visible','off'); q=get(gca,'position'); q(1)=0;%設置左邊距離值為零 q(2)=0;%設置右邊距離值為零 set(gca,'position',q); for i=1:length(stats) hold on; rectangle('position',stats(i).BoundingBox,'edgecolor','y','linewidth',2); temp = stats(i).Centroid; plot(temp(1),temp(2),'r.'); drawnow; end frame=getframe(gcf,[0,0,n,m]); im=frame2im(frame); imwrite(im,'a.jpg','jpg');%可以修改保存的格式
saveas
1 % saveas(figure_handle,filename,fileformat) 2 plot(1:10); 3 saveas(gcf,‘myfig.jpg’) 4 復制代碼 它有三種書寫方式
1 mov=aviread('C:\Users\shitao\Desktop\s5\2.avi');%讀入視頻 2 Vframes=size(mov,2);%讀取視頻的幀數 3 figure 4 for i=1:Vframes 5 % strtemp=strcat('C:\Users\shitao\Desktop\s2\',int2str(i),'.','jpg');%將每幀轉成.jpg的圖片 6 I=mov(i).cdata; 7 imshow(I); 8 %此處添加圖像處理內容,如對圖像畫框,畫線等操作 9 saveas(gcf,['C:\Users\shitao\Desktop\s2\',int2str(i),'.jpg']); 10 %imwrite(mov(i).cdata(:,:,:),strtemp); %把圖像寫入磁盤 11 end
saveas(handle,['目錄','文件名'])
如果只有一幅圖,handle設為gcf 如果有多副,handle需單獨設置 imwrite(image_data,['directory','filename']) 需要與getframe連用 兩個命令都可以用來保存圖像,區別在於 1、背景色:saveas保存的圖像 背景色自動設置為白色,imwrite保存圖像為所見即所得 2、圖像大小: saveas無視你設置的圖像大小,按默認保存,imwrite保存所見即所得 1 contrast example:在當前目錄下image文件夾下找到兩個圖像,對比一下 2 clear 3 clc 4 x=0:pi/100:2*pi; 5 y=sin(x); 6 h=plot(x,y); % h為plot線的句柄handle 7 set(gcf,'position',[80,100,400,600]) 8 % 將圖像設置為距屏幕左下角 [80,像素 9 % 圖像大小設置為400*600像素 10 set(gcf,'color',[1,1,1]) % 背景色設置為白色 11 mkdir image 12 % 在當前文件夾下新建image文件夾,如果已存在會warning,不影響運行 13 % ======================== 14 saveas(gcf,['image','test1.jpg']) 15 % ======================== 16 f=getframe(gcf); 17 imwrite(f.cdata,['image','test2.jpg'])
復制代碼
printf
用法:print(圖形句柄,存儲格式,文件名);
例如
1 <font color="#000000" size="2">% 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格式的圖片到當前路徑</font>
注意:print函數必須緊跟在plot函數之后使用。 |