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中的索引图像及其关联的颜色图写入由mapfilename指定的文件。- 如果
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。

