imageio.v3.imwrite(uri, image, *, plugin=None, extension=None, format_hint=None, **kwargs)[source]#

Write an ndimage to the given URI.

The exact behavior depends on the file type and plugin used. To learn about the exact behavior, check the documentation of the relevant plugin.

uri{str, pathlib.Path, bytes, file}

The resource to save the image to, e.g. a filename, pathlib.Path, http address or file object, check the docs for more info.


The image to write to disk.

plugin{str, None}

The plugin to use. If set to None (default) imwrite will perform a search for a matching plugin. If not None, this takes priority over the provided format hint (if present).


If not None, treat the provided ImageResource as if it had the given extension. This affects the order in which backends are considered, and may also influence the format used when encoding.


A format hint to help optimize plugin selection given as the format’s extension, e.g. “.png”. This can speed up the selection process for ImageResources that don’t have an explicit extension, e.g. streams, or for ImageResources where the extension does not match the resource’s content. If the ImageResource lacks an explicit extension, it will be set to this format.


Additional keyword arguments will be passed to the plugin’s write call.

encoded_imageNone or Bytes

Returns None in all cases, except when uri is set to <bytes>. In this case it returns the encoded ndimage as a bytes string.