用matlab 保存带标记图像、图片的方法总结
2015-05-26 17:01
489 查看
http://www.ilovematlab.cn/thread-296430-1-1.html
如今常用的方法有三种printf,imwrite,saveas下面分别介绍一下:
imwrite
mwrite将图像数据写成图像文件,一般用于图像处理,当我们使用imshow将一副图像使显示在坐标系上时,我们可以使用如下方式保存图像
I=getimage(gcf); % 获取坐标系中的图像文件数据
imwrite(I,'myphoto.jpg')%保存图像为文件
同时可以使用下面的形式保存图片数据,把图片保存到指定文件夹,并对文件名进行编号
f=getframe(gcf);
imwrite(f.cdata,['C:\Users\shitao\Desktop\s4\',int2str(i),'.jpg']);
这个函数在视频分帧时,我经常使用,相对saveas的保存速度,个人感觉效率比较高,下面举个例子
saveas
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】
saveas(gcf,['D:\保存的数据文件\方法1.png'])
saveas(gcf,['D:\保存的数据文件\方法2','.png'])
saveas(gcf,['D:\保存的数据文件\','方法3','.png'])
用saveas命令保存图片。
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】。
saveas的三个参数:
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3。
(2)文件名。
(3)单引号字符串,指定存储格式。
例:
% saveas(figure_handle,filename,fileformat) plot(1:10);
>>saveas(gcf,['D:\保存的数据文件\方法1.png'])
>> saveas(gcf,['D:\保存的数据文件\方法2','.png'])
>> saveas(gcf,['D:\保存的数据文件\','方法3','.png'])把图片保存到指定目录并编号
saveas(gcf,['C:\Users\shitao\Desktop\s3\',int2str(i),'.jpg']);
saveas与imwrite的区别
saveas(handle,['目录','文件名'])
如果只有一幅图,handle设为gcf
如果有多副,handle需单独设置
imwrite(image_data,['directory','filename'])
需要与getframe连用
两个命令都可以用来保存图像,区别在于
1、背景色:saveas保存的图像 背景色自动设置为白色,imwrite保存图像为所见即所得
2、图像大小: saveas无视你设置的图像大小,按默认保存,imwrite保存所见即所得
printf
用法:print(图形句柄,存储格式,文件名);
图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.用gcf可以获取当前窗口句柄。
指定存储格式。常用的有:
png格式:‚-dpng‘ (推荐这一种,与bmp格式一样清晰,文件也不大)
jpeg: ‚-djpeg‘(文件小,较清晰)
tiff: ‚-dtiff‘
bmp: ‚-dbitmap‘(清晰,文件极大)
gif: ‚-dgif‘(文件小但不清晰)
例如
如今常用的方法有三种printf,imwrite,saveas下面分别介绍一下:
imwrite
mwrite将图像数据写成图像文件,一般用于图像处理,当我们使用imshow将一副图像使显示在坐标系上时,我们可以使用如下方式保存图像
I=getimage(gcf); % 获取坐标系中的图像文件数据
imwrite(I,'myphoto.jpg')%保存图像为文件
同时可以使用下面的形式保存图片数据,把图片保存到指定文件夹,并对文件名进行编号
f=getframe(gcf);
imwrite(f.cdata,['C:\Users\shitao\Desktop\s4\',int2str(i),'.jpg']);
这个函数在视频分帧时,我经常使用,相对saveas的保存速度,个人感觉效率比较高,下面举个例子
<span style="font-size:14px;">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');%可以修改保存的格式</span>
saveas
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】
<span style="font-size:14px;">% saveas(figure_handle,filename,fileformat) plot(1:10); saveas(gcf,‘myfig.jpg’)</span>它有三种书写方式
saveas(gcf,['D:\保存的数据文件\方法1.png'])
saveas(gcf,['D:\保存的数据文件\方法2','.png'])
saveas(gcf,['D:\保存的数据文件\','方法3','.png'])
用saveas命令保存图片。
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】。
saveas的三个参数:
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3。
(2)文件名。
(3)单引号字符串,指定存储格式。
例:
% saveas(figure_handle,filename,fileformat) plot(1:10);
>>saveas(gcf,['D:\保存的数据文件\方法1.png'])
>> saveas(gcf,['D:\保存的数据文件\方法2','.png'])
>> saveas(gcf,['D:\保存的数据文件\','方法3','.png'])把图片保存到指定目录并编号
saveas(gcf,['C:\Users\shitao\Desktop\s3\',int2str(i),'.jpg']);
<span style="font-size:14px;"> mov=aviread('C:\Users\shitao\Desktop\s5\2.avi');%读入视频 Vframes=size(mov,2);%读取视频的帧数 figure for i=1:Vframes % strtemp=strcat('C:\Users\shitao\Desktop\s2\',int2str(i),'.','jpg');%将每帧转成.jpg的图片 I=mov(i).cdata; imshow(I); %此处添加图像处理内容,如对图像画框,画线等操作 saveas(gcf,['C:\Users\shitao\Desktop\s2\',int2str(i),'.jpg']); %imwrite(mov(i).cdata(:,:,:),strtemp); %把图像写入磁盘 end</span>
saveas与imwrite的区别
saveas(handle,['目录','文件名'])
如果只有一幅图,handle设为gcf
如果有多副,handle需单独设置
imwrite(image_data,['directory','filename'])
需要与getframe连用
两个命令都可以用来保存图像,区别在于
1、背景色:saveas保存的图像 背景色自动设置为白色,imwrite保存图像为所见即所得
2、图像大小: saveas无视你设置的图像大小,按默认保存,imwrite保存所见即所得
<span style="font-size:14px;">contrast example:在当前目录下image文件夹下找到两个图像,对比一下 clear clc x=0:pi/100:2*pi; y=sin(x); h=plot(x,y); % h为plot线的句柄handle set(gcf,'position',[80,100,400,600]) % 将图像设置为距屏幕左下角 [80,像素 % 图像大小设置为400*600像素 set(gcf,'color',[1,1,1]) % 背景色设置为白色 mkdir image % 在当前文件夹下新建image文件夹,如果已存在会warning,不影响运行 % ======================== saveas(gcf,['image','test1.jpg']) % ======================== f=getframe(gcf); imwrite(f.cdata,['image','test2.jpg'])</span>
printf
用法:print(图形句柄,存储格式,文件名);
图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.用gcf可以获取当前窗口句柄。
指定存储格式。常用的有:
png格式:‚-dpng‘ (推荐这一种,与bmp格式一样清晰,文件也不大)
jpeg: ‚-djpeg‘(文件小,较清晰)
tiff: ‚-dtiff‘
bmp: ‚-dbitmap‘(清晰,文件极大)
gif: ‚-dgif‘(文件小但不清晰)
例如
<span style="font-size:14px;"><font color="#000000" size="2">% print(figure_handle,fileformat,filename) x=-pi:2*pi/300:pi; y=sin(x); plot(x,y); %Matlab根据文件扩展名,自动保存为相应格式图片,另外路径可以是绝对也可以是相对 print(gcf,'-dpng','abc.png') %保存为png格式的图片到当前路径</font></span>注意:print函数必须紧跟在plot函数之后使用。
相关文章推荐
- 用matlab 保存带标记图像、图片的方法总结
- 用matlab 保存带标记图像、图片的方法总结
- 用matlab 保存带标记图像、图片的方法总结
- 用matlab 保存带标记图像、图片的方法总结
- 【matlab】用matlab 保存带标记图像、图片的方法总结
- 用matlab 保存带标记图像、图片的方法总结
- matlab保存图片的方法总结
- Matlab保存图像的方法总结
- Matlab保存图像的方法总结
- Matlab保存图像的方法总结
- matlab在图片上画标记然后整幅保存的方法
- Matlab中图片保存的5种方法
- matlab保存图片不带白边的方法
- Matlab中图片保存的四种方法
- matlab保存图像的几种方法
- matlab 批量保存图像的方法
- 将画布(canvas)图像保存成本地图片的方法
- MATLAB(4)——图片保存方法汇总及常用指令
- Matlab保存图像的方法
- 用matlab代码开启笔记本摄像头的6种方法——图像效果各不相同,纯自我总结,与大家分享