Importing PNG files into Numpy? Importing PNG files into Numpy? numpy numpy

Importing PNG files into Numpy?


According to the doc, scipy.misc.imread is deprecated starting SciPy 1.0.0, and will be removed in 1.2.0. Consider using imageio.imread instead.

Example:

import imageioim = imageio.imread('my_image.png')print(im.shape)

You can also use imageio to load from fancy sources:

im = imageio.imread('http://upload.wikimedia.org/wikipedia/commons/d/de/Wikipedia_Logo_1.0.png')

Edit:

To load all of the *.png files in a specific folder, you could use the glob package:

import imageioimport globfor im_path in glob.glob("path/to/folder/*.png"):     im = imageio.imread(im_path)     print(im.shape)     # do whatever with the image here


Using just scipy, glob and having PIL installed (pip install pillow) you can use scipy's imread method:

from scipy import miscimport globfor image_path in glob.glob("/home/adam/*.png"):    image = misc.imread(image_path)    print image.shape    print image.dtype

UPDATE

According to the doc, scipy.misc.imread is deprecated starting SciPy 1.0.0, and will be removed in 1.2.0. Consider using imageio.imread instead. See the answer by Charles.


This can also be done with the Image class of the PIL library:

from PIL import Imageimport numpy as npim_frame = Image.open(path_to_file + 'file.png')np_frame = np.array(im_frame.getdata())

Note: The .getdata() might not be needed - np.array(im_frame) should also work