Getting Started With ImageIO Library in Python
Last Updated :
20 Mar, 2024
Imageio is a Python library that provides an easy interface to read and write a wide range of image and video data, including animated images, volumetric data, and scientific formats. It is cross-platform.
Installation:
This module does not come built-in with Python. To install it type the below command in the terminal.
pip install imageio
Requirements:
- A recent version of Python
- Numpy
- Pillow
Let’s see the code for some working of imageio library:
1) Read an image: For reading an image we have to used iio.imread() method.
Syntax:
imageio.v3.imread("filename or path")
Parameter:
- filename/path: Absolute or Relative path of the image file.
- (optional) index: Integer indicating which image to read if the file contains multiple (e.g., GIF, TIFF, video)
- (optional) plugin: A string indicating which plugin/backend to use (default: select automatically)
Return: a numpy array filled with decoded image data
Example:
Python3
import imageio.v3 as iio
image = iio.imread( 'testa.png' )
print (image.shape)
|
Output:
(134, 151, 4)
2) Reading GIF file: For reading a GIF we can again use the imageio.v3.imread method.
Example:
Python3
import imageio.v3 as iio
images = iio.imread( 'test.gif' )
print (images.shape)
for i in range ( 16 ):
img = iio - imread( 'test.gif' , index = i)
print (img.shape)
|
Output:
(16, 300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
(300, 354, 4)
3) Creating Image file: For creating an image file we have to used imageio.v3.imwrite() method.
Syntax:
imageio.imwrite(filename,numPy_ndarray, format=None)
Parameters:
- filename: Path / Name of file to be saved as
- numpy_ndarray: The image data. Must be NxM, NxMx3 or NxMx4.
- (optional) plugin: A string indicating which plugin/backend to use (default: select automatically)
- (optional) extension: If set, treat the file/data as if it had the given file extension (instead of its actual one). This is used for choosing/overwriting the output format (e.g. “.jpeg” to write JPEG images)
Example:
Python3
import imageio.v3 as iio
import numpy as np
rows, cols = ( 5 , 5 )
arr = np.zeros((rows, cols))
image = iio.imwrite( 'image_writing.png' , arr)
|
Output:
image_writing.png.png
As Data-values were zeros so this is empty image with 68 bytes size.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...