【matlab】用matlab 保存带标记图像、图片的方法总结
最近看了一些用matlab对图形图片进行保存的帖子和资源,关于图像保存的方法给大家分享一下这些方法是大家所使用方法的一个总结. 如今常用的方法有三种printf,imwrite,saveas下面分别介绍一下: I=getimage(gcf); % 获取坐标系中的图像文件数据 clc;close all;clear all;<br/> Img=imread('1.jpg');<br/> if ndims(Img)==3<br/> I=rgb2gray(Img);<br/> else<br/> I=Img;<br/> end<br/> I=im2bw(I,graythresh(I));<br/> [m,n]=size(I);<br/> imshow(I);title('binary image');<br/> txt=get(gca,'Title');<br/> set(txt,'fontsize',16);<br/> L=bwlabel(I);<br/> stats=regionprops(L,'all');<br/> set(gcf,'color','w');<br/> set(gca,'units','pixels','Visible','off');<br/> q=get(gca,'position');<br/> q(1)=0;%设置左边距离值为零<br/> q(2)=0;%设置右边距离值为零<br/> set(gca,'position',q);<br/> for i=1:length(stats)<br/> hold on;<br/> rectangle('position',stats(i).BoundingBox,'edgecolor','y','linewidth',2);<br/> temp = stats(i).Centroid;<br/> plot(temp(1),temp(2),'r.');<br/> drawnow;<br/> end<br/> frame=getframe(gcf,[0,0,n,m]);<br/> im=frame2im(frame);<br/> imwrite(im,'a.jpg','jpg');%可以修改保存的格式
saveas % saveas(figure_handle,filename,fileformat)<br/> plot(:);<br/> saveas(gcf,‘myfig.jpg’)<br/> 复制代码 它有三种书写方式 mov=aviread('C:\Users\shitao\Desktop\s5\2.avi');%读入视频<br/> Vframes=size(mov,);%读取视频的帧数<br/> figure<br/> for i=:Vframes<br/> % strtemp=strcat('C:\Users\shitao\Desktop\s2\',int2str(i),'.','jpg');%将每帧转成.jpg的图片<br/> I=mov(i).cdata;<br/> imshow(I);<br/> %此处添加图像处理内容,如对图像画框,画线等操作<br/> saveas(gcf,['C:\Users\shitao\Desktop\s2\',int2str(i),'.jpg']);<br/> %imwrite(mov(i).cdata(:,:,:),strtemp); %把图像写入磁盘<br/> end saveas与imwrite的区别 saveas(handle,[‘目录’,’文件名’])
如果只有一幅图,handle设为gcf 如果有多副,handle需单独设置 imwrite(image_data,[‘directory’,’filename’]) 需要与getframe连用 两个命令都可以用来保存图像,区别在于 1、背景色:saveas保存的图像 背景色自动设置为白色,imwrite保存图像为所见即所得 2、图像大小: saveas无视你设置的图像大小,按默认保存,imwrite保存所见即所得 contrast example:在当前目录下image文件夹下找到两个图像,对比一下<br/> clear<br/> clc<br/> x=:pi/:*pi;<br/> y=sin(x);<br/> h=plot(x,y); % h为plot线的句柄handle<br/> set(gcf,'position',[,,,])<br/> % 将图像设置为距屏幕左下角 [,像素<br/> % 图像大小设置为400*600像素<br/> set(gcf,'color',[,,]) % 背景色设置为白色<br/> mkdir image<br/> % 在当前文件夹下新建image文件夹,如果已存在会warning,不影响运行<br/> % ========================<br/> saveas(gcf,['image','test1.jpg'])<br/> % ========================<br/> f=getframe(gcf);<br/> imwrite(f.cdata,['image','test2.jpg']) 复制代码
printf 用法:print(图形句柄,存储格式,文件名);
例如
<font color="#000000" size="">% print(figure_handle,fileformat,filename)<br/> x=-pi:*pi/:pi;<br/> y=sin(x);<br/> plot(x,y);<br/> %Matlab根据文件扩展名,自动保存为相应格式图片,另外路径可以是绝对也可以是相对<br/> print(gcf,'-dpng','abc.png') %保存为png格式的图片到当前路径</font> 注意:print函数必须紧跟在plot函数之后使用。 |
转发申明:
本文转自互联网,由小站整理并发布,在于分享相关技术和知识。版权归原作者所有,如有侵权,请联系本站,将在24小时内删除。谢谢