https://ww2.mathworks.cn/help/matlab/ref/imwrite.html
imwrite
-
语法
[imwrite(A,filename)](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#d122e619154)
[imwrite(A,map,filename)](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#d122e619237)
[imwrite(**___**,fmt)](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#d122e619290)
[imwrite(**___**,Name,Value)](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#d122e619312)
说明
imwrite([
A](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-A),[
filename](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-filename))
将图像数据A
写入filename
指定的文件,并从扩展名推断出文件格式。imwrite
在当前文件夹中创建新文件。输出图像的位深取决于A
的数据类型和文件格式。对于大多数格式来说:- 如果
A
属于数据类型uint8
,则imwrite
输出 8 位值。 - 如果
A
属于数据类型uint16
且输出文件格式支持 16 位数据(JPEG、PNG 和 TIFF),则imwrite
将输出 16 位的值。如果输出文件格式不支持 16 位数据,则imwrite
返回错误。 - 如果
A
是灰度图像或者属于数据类型double
或single
的 RGB 彩色图像,则imwrite
假设动态范围是 [0,1],并在将其作为 8 位值写入文件之前自动按 255 缩放数据。如果A
中的数据是single
,则在将其写入 GIF 或 TIFF 文件之前将A
转换为double
。 - 如果
A
属于logical
数据类型,则imwrite
会假定数据为二值图像并将数据写入位深为 1 的文件(如果格式允许)。BMP、PNG 或 TIFF 格式以输入数组形式接受二值图像。 - 如果
A
包含索引图像数据,则应另外指定map
输入参数。
imwrite([
A](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-A),[
map](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-map),[
filename](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-filename))
将A
中的索引图像及其关联的颜色图写入由map
filename
指定的文件。- 如果
A
是属于数据类型double
或single
的索引图片,则imwrite
通过从每个元素中减去 1 来将索引转换为从 0 开始的索引,然后以uint8
形式写入数据。 - 如果
A
中的数据是single
,则在将其写入 GIF 或 TIFF 文件之前将A
转换为double
。
- 如果
imwrite(**___**,[
fmt](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#btv3cny-1-fmt))
以fmt
指定的格式写入图像,无论filename
中的文件扩展名如何。您可以在任何先前语法的输入参数之后指定fmt
。imwrite(**___**,[
Name,Value](https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#namevaluepairarguments))
使用一个或多个名称-值对组参数,以指定 GIF、HDF、JPEG、PBM、PGM、PNG、PPM 和 TIFF 文件输出的其他参数。您可以在任何先前语法的输入参数之后指定Name,Value
。