matlab中的imwrite函数怎么用

i=imread('lena.bmp');
我想用imwrite直接把它转换成jpg格式,质量因子为80,应该怎么弄啊

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,

也就是说存入一对属性值。若不设置该参数,则程序会自动根据所保存的图像格式采用一个默认的参数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-11

matlab中的imwrite函数用法:

(1)imwrite(A,filename,fmt)

其中,A是图像数据, filename是目标图像名字, fmt是要生成的图片的格式。

常见的e图像格式有:bmp(1-bit、8-bit和24-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、pgm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式支持的图像位数不一样, 比如bmp格式不支持16-bit,而png格式支持, 又如gif只支持8-bit格式。

(2)imwrite(X,map,filename,fmt)

如果要存储一张索引图像, 需要指定颜色表,这样在硬盘上生成图像文件时指定的颜色表和图像数据将一起写入图像文件。

(3)imwrite(f,'filename.jpg','quality',q)

其中,q是一个在0-100之间的整数,为图像质量因数。

(4)imwrite函数功能:将图像数据写入到图像文件中, 存储在磁盘上。在matlab命令窗口中键入doc imwrite或help imwrite可以获得更多关于该函数的帮助信息。

(5)参考matlab自带的help,下面给出程序代码:

imwrite(I,'lena.jpg','quality',80);

附注:建议读取图像矩阵的时候用I,否则在进行后续处理的时候,很容易将像素矩阵当成虚数单位操作。

扩展资料

举例说明

close all; clear; clc;

warning off all;

% 本例子展示如何将一张真彩色jpg格式图片转换为灰度图像、索引图像、二值图像

imgrgb = imread('flower.jpg');

imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式

imggray = rgb2gray(imgrgb);

imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像

[imgind, map] = rgb2ind(imgrgb, 256); % 转换为256色的索引图像

% 如果转换为65536色图像, imwrite函数无法写入到文件, 这是因为: 65536色的

% 索引图像数据类型是uint16(16-bit), 而imwrite函数的bmp文件格式仅仅支持

% 1-bit, 8-bit, 和 24-bit。png格式支持uint16。

imwrite(imgind, map, 'flower_index.bmp', 'bmp');

imgbw = im2bw(imgrgb, 0.5);

imwrite(imgbw, 'flower_binary.bmp', 'bmp');

参考资料

百度百科-imwrite

本回答被网友采纳
第2个回答  推荐于2019-10-13

matlab中的imwrite函数用法:

imwrite函数用于将图像写入图像文件中。

imwrite(A,'filename','fmt')   

以fmt的图像格式保存图像A到filename的路径文件中; A 可以是灰度图像,也可以为彩色图像,但不可以为空。如果图像文件格式是TIFF,该函数也可以处理4通道的CMYK颜色模型的图像数据。filename是包含文件名的路径。fmt是图像文件格式

eg1:

imwrite(img,'C\Users\Lenovo\Desktop\123','jpg');

将img图像存入桌面的123文件中,图像格式为jpg,即可以看到桌面多了一个123.jpg的图像。

imwrite(A,map,'filename','fmt')

map表示与其关联的颜色映射表。其他参数同上。

imwrite(...,'filename')

该函数将图像保存在文件中,同时图像文件格式一并在文件名中体现。

eg2:imwrite(img,'123.jpg');

将img图像保存为系统路径下的123.jpg文件中。

扩展资料:

调用格式说明

编辑

imwrite(A,filename,fmt)

A是图像数据, filename是目标图像名字, fmt是要生成的图片的格式。

图像格式有:bmp(1-bit、8-bit和4-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、gm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式支持的图像位数不一样, 比如bmp格式不支持16-bit,而png格式支持, 又如gif只支持8-bit格式。

imwrite(X,map,filename,fmt)

如果要存储一张索引图像, 需要指定颜色表,这样在硬盘上生成图像文件时指定的颜色表和图像数据将一起写入图像文件。

imwrite(...,filename)

imwrite(...,Param1,Val1,Param2,Val2...)

另一种常用但只适用于JPEG图像的imwrite函数语法为

imwrite(f,'filename.jpg','quality',q)

其中q是一个在0-100之间的整数,为图像质量因数。

参考资料:百度百科——imwrite

本回答被网友采纳
第3个回答  推荐于2019-10-02

调用格式:

1. imwrite(A,filename,fmt)

A是图像数据, filename是目标图像名字, fmt是要生成的图片的格式。

图像格式有:bmp(1-bit、8-bit和4-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、gm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式支持的图像位数不一样, 比如bmp格式不支持16-bit,而png格式支持, 又如gif只支持8-bit格式。

2. imwrite(X,map,filename,fmt)

如果要存储一张索引图像, 需要指定颜色表,这样在硬盘上生成图像文件时指定的颜色表和图像数据将一起写入图像文件。

imwrite(...,filename)

3. imwrite(...,Param1,Val1,Param2,Val2...)

另一种常用但只适用于JPEG图像的imwrite函数语法为

4. imwrite(f,'filename.jpg','quality',q)

其中q是一个在0-100之间的整数,为图像质量因数。

扩展资料: 

举例说明:

close all; clear; clc;

warning off all;

% 本例子展示如何将一张真彩色jpg格式图片转换为灰度图像、索引图像、二值图像

imgrgb = imread('flower.jpg');

imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式

imggray = rgb2gray(imgrgb);

imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像

[imgind, map] = rgb2ind(imgrgb, 256); % 转换为256色的索引图像

% 如果转换为65536色图像, imwrite函数无法写入到文件, 这是因为: 65536色的

% 索引图像数据类型是uint16(16-bit), 而imwrite函数的bmp文件格式仅仅支持

% 1-bit, 8-bit, 和 24-bit。png格式支持uint16。

imwrite(imgind, map, 'flower_index.bmp', 'bmp');

imgbw = im2bw(imgrgb, 0.5);

imwrite(imgbw, 'flower_binary.bmp', 'bmp');

参考资料:百度百科-imwrite

本回答被网友采纳
第4个回答  推荐于2017-09-14
  matlab中的imwrite函数用法:
  1)imwrite(A,filename,fmt)
  A是图像数据, filename是目标图像名字, fmt是要生成的图片的格式。图像格式有:bmp(1-bit、8-bit和24-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、pgm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式支持的图像位数不一样, 比如bmp格式不支持16-bit,而png格式支持, 又如gif只支持8-bit格式。
  2)imwrite(X,map,filename,fmt)
  如果要存储一张索引图像, 需要指定颜色表,这样在硬盘上生成图像文件时指定的颜色表和图像数据将一起写入图像文件。
  3)imwrite(...,filename)
  4)imwrite(...,Param1,Val1,Param2,Val2...)
  5)另一种常用但只适用于JPEG图像的imwrite函数语法为
  imwrite(f,'filename.jpg','quality',q)
  其中,q是一个在0-100之间的整数,为图像质量因数。
  imwrite函数功能:将图像数据写入到图像文件中, 存储在磁盘上。在matlab命令窗口中键入doc imwrite或help imwrite可以获得更多关于该函数的帮助信息。