I have about 200 grayscale PNG images stored within a directory like this.
1.png 2.png 3.png ... ... 200.png
I want to import all the PNG images as NumPy arrays. How can I do this?
It requires Python 3.5 or any compatible higher version. to access the png module in your Python program. You can also install from source using setuptools . PyPNG uses setup.
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 imageio im = 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 imageio import glob for 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 misc import glob for image_path in glob.glob("/home/adam/*.png"): image = misc.imread(image_path) print image.shape print image.dtype
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With