【matlab】用matlab 保存带标记图像、图片的方法总结
最近看了一些用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函数之后使用。 |