imwrite函数(imwrite函数用法opencv)
matlab中imwrite和saveas的区别
您好,很高兴为您解答。
这两个都是图片的保存函数。imwrite是直接地原封不动地将矩阵变成图片保存,而后者保存则经过压缩等优化处理然后进行保存,类似于其他软件的保存,所以后者保存的清晰度较低。
另外后者还可以用于Matlab画出来的figure和simulink框图的保存。
imwrite(L ,'JPEG_attack.jpg','jpeg','Quality',70);
这句话首先是保存图像,将L图像保存成名为“jepg_attack.jpg”的图像,后面的'Quality',7是对图像进行压缩,最后的数是0-100之间的整数,数越小,图像退化就越严重
MATLAB中*.fig图像怎么提取数据?
1、在命令行运行figure打开一个空白窗口。
2、在工具栏或者菜单中选择open打开你保存的fig文件,会显示出原来的那个图来。
3、在命令行运行obj = get(gca,'children')。这个结果对应你的图里面的线或者面的句柄,有几条线就对应几个句柄。
4、根据你需要的是哪条线,第n条线句柄就是obj(n),如果只有一个对象直接用obj就可以,
然后再用一次get。
x=get(obj(1), 'xdata')。
y=get(obj(1), 'ydata')。
如果是三维图,再加上个z=get(obj(1),'zdata')。
x、y、z就是你所需要的坐标数据
Matlab中图片保存的5种方法
1、使用imwrite 函数。
使用 imwrite(img,'result.jpg'); 这种方法保存图像大小和显示的大小事一样的。
2、直接另存为在figure中使用菜单file——saveas——选择保存形式。
(fig,eps,jpeg,gif,png,bmp等),这个的缺点是另存为的图像清晰度有很大的牺牲
3、复制到剪贴板在figure中使用菜单edit——copy figure——此时图像就复制到剪贴板了,我们可以借助其他软件(比如:绘图板)保存为需要的图片。
4、saveas命令格式Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】。
(1)% saveas(figure_handle,filename,fileformat) 。
(2)plot(1:10)。
(3)saveas(gcf,‘myfig.jpg’) ? ?。 ?
(4)set (gcf,'Position',[500,500,500,500], 'color','w') 。
5、print函数
print函数原本不是用来进行图像保存了,而是操作打印机的,但是这里我们可以借用下。
(1)% 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格式的图片到当前路径。
matlab中的imwrite函数怎么用
imwrite函数用于保存图像,具体如下:
1、保存到当前文件夹下:imwrite(I,'abc.png');
2、保存到当前文件夹下的一个子文件result下:imwrite(I,'./result/abc.png');
3、保存到当前文件夹上一层的一个文件夹result下:imwrite(I,'../result/abc.png');
其中I为要保存图像,abc.png为文件名,保存为png格式也可以是其他格式(jpeg, bmp, tif...)。
保存在matlab路径下的子文件夹中,需要提前要提前建立一个文件夹result才可以。
因此可以这么写:imwrite(I,'lena.jpg','quality',80);
扩展资料:
关于imwrite函数
功能:该函数是把程序中的Mat类型的矩阵保存为图像到指定位置。
函数形式:bool imwrite(const string filename, InputArray img, const vectorint? ?ms = vectorint() )
参数列表:
filename:所需保存图像的文件目录和文件名,这里的文件名需要带有图像格式后缀。
img:img参数为图像数据来源,其类型为Mat.
params:用来设置对应图片格式的参数,因为一般情况下这些图片格式都是经过了压缩的,这里就是设置这些压缩参数来控制图片的质量。该参数是一个vectorint类型,分别存paramid_1,paramValue_1,paramid_2,paramValue_2,
也就是说存入一对属性值。若不设置该参数,则程序会自动根据所保存的图像格式采用一个默认的参数。
求助!imwrite函数,为什么不能保存图像到指定目录?
为了以后遇到这个问题的朋友们能够顺利解决,我把我的解决方法说一下,其实不是安装的问题,一定要设置matlab的当前目录,然后程序运行的时候才会在相对于当前目录下,去找别的目录或文件。当前目录的设置方法:current
Folder
:
打开窗口设置
matlab的imwrite函数
是你的数据类型有问题。你的矩阵A需要是uint8类型才可以那样做。
A1 = uint8(A);
imshow(A1);
imwrite(A1,'a.bmp')