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