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

中文名

图像写入

外文名

imwrite

类别

计算机编程

属于

MATLAB函数

适合问题

将图像数据写入到图像文件中

功能

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

调用格式说明

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之间的整数,为图像质量因数。

相关函数

imread、imfinfo、fread、fwrite

举例说明

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');