imwrite存储多张,将图片imwrite写到另外一个文件夹
一、MATLAB***将图片imwrite写到另外一个文件夹***只看到后一张
设你要保存的图片矩阵为A,要保存的文件名为1.jpg那么用imwrite保存是这样:
imwrite(A,'1.jpg','jpg');
如果你这时还要保存图片矩阵B,你必须讲图片矩阵B的保存名字改掉,不能和前面的1.jpg一样,否则后面的图片就把前面的覆盖掉了,这样,你虽然保存过很多,但后看到的只有一个。
想要不被覆盖,就在保存后面图片的时候,改变保存的文件名。一般我们把要保存的很多图像放在一个数组里设为P,将文件名放在一个字符数组Q里,设要保存的图片共有n个,则可以用循环来实现:
for i=1:n
imwrite(P(i),Q(i),'jpg');
end
这就OK了~~希望能帮到你~
二、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 vector<int>¶ms= vector<int>())
参数列表:
filename:所需保存图像的文件目录和文件名,这里的文件名需要带有图像格式后缀。
img:img参数为图像数据来源,其类型为Mat.
params:用来设置对应图片格式的参数,因为一般情况下这些图片格式都是经过了压缩的,这里就是设置这些压缩参数来控制图片的质量。该参数是一个vector<int>类型,分别存paramid_1,paramValue_1,paramid_2,paramValue_2,
也就是说存入一对属性值。若不设置该参数,则程序会自动根据所保存的图像格式采用一个默认的参数。