imwrite在
matlab中用于将
图像数据写入到
图像文件中, 存储在磁盘上,在matlab命令窗口中键入help imwrite或doc imwrite可以获得更多关于该函数的帮助信息。
功能
imwrite用于将图像数据写入到图像文件中。
调用格式
imwrite(A,filename,fmt)
imwrite(...,Param1,Val1,Param2,Val2...)
imwrite(f,'filename.
jpg','quality',q)
调用格式说明
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之间的整数,为
图像质量因数。
相关函数
举例说明
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');