Python 如何从计算机上的目录加载图像
How to load images from a directory on the computer in Python
您好,我是 python 的新手,我想知道如何将计算机目录中的图像加载到 python 变量中。
我在磁盘上的一个文件夹中有一组图像,我想循环显示这些图像。
您可以使用 PIL(Python 图像库)http://www.pythonware.com/products/pil/ 加载图像。
然后你可以制作一个脚本来从目录中读取图像并将它们加载到 python,就像这样。
#!/usr/bin/python
from os import listdir
from PIL import Image as PImage
def loadImages(path):
# return array of images
imagesList = listdir(path)
loadedImages = []
for image in imagesList:
img = PImage.open(path + image)
loadedImages.append(img)
return loadedImages
path = "/path/to/your/images/"
# your images in an array
imgs = loadImages(path)
for img in imgs:
# you can show every image
img.show()
您可以使用 glob 和 imageio python 包来实现相同的目的。下面是 python 3:
中的代码
import glob
import imageio
for image_path in glob.glob("<your image directory path>\*.png"):
im = imageio.imread(image_path)
print (im.shape)
print (im.dtype)
如果您的 google 驱动器中有图像,并且想要加载、调整大小和保存图像,那么下面的代码可以正常工作。
import os, sys
from os import listdir
from PIL import Image
from google.colab import drive
import matplotlib.pyplot as plt
drive.mount('/content/gdrive')
# need to enter password to access your google drive
from google.colab import files
main_dir = "/content/gdrive/My Drive/Panda/"
files = listdir(main_dir)
# you can change file extension below to read other image types
images_list = [i for i in files if i.endswith('.jpg')] ## output file names only
for idx,image in enumerate(images_list):
print(idx)
img = Image.open(main_dir + image)
#print(img.size)
#plt.imshow(img)
img = img.resize((480, 600))
img.save(main_dir + image)
pip install ThreadedFileLoader
您可以使用 ThreadedFileLoader
模块。它使用线程加载图像。
from ThreadedFileLoader.ThreadedFileLoader import *
instance = ThreadedImageLoader("path_to_folder/*.jpg")
instance.start_loading()
images = instance.loaded_objects
print(len(images))
print(images[0].shape)
您好,我是 python 的新手,我想知道如何将计算机目录中的图像加载到 python 变量中。 我在磁盘上的一个文件夹中有一组图像,我想循环显示这些图像。
您可以使用 PIL(Python 图像库)http://www.pythonware.com/products/pil/ 加载图像。 然后你可以制作一个脚本来从目录中读取图像并将它们加载到 python,就像这样。
#!/usr/bin/python
from os import listdir
from PIL import Image as PImage
def loadImages(path):
# return array of images
imagesList = listdir(path)
loadedImages = []
for image in imagesList:
img = PImage.open(path + image)
loadedImages.append(img)
return loadedImages
path = "/path/to/your/images/"
# your images in an array
imgs = loadImages(path)
for img in imgs:
# you can show every image
img.show()
您可以使用 glob 和 imageio python 包来实现相同的目的。下面是 python 3:
中的代码import glob
import imageio
for image_path in glob.glob("<your image directory path>\*.png"):
im = imageio.imread(image_path)
print (im.shape)
print (im.dtype)
如果您的 google 驱动器中有图像,并且想要加载、调整大小和保存图像,那么下面的代码可以正常工作。
import os, sys
from os import listdir
from PIL import Image
from google.colab import drive
import matplotlib.pyplot as plt
drive.mount('/content/gdrive')
# need to enter password to access your google drive
from google.colab import files
main_dir = "/content/gdrive/My Drive/Panda/"
files = listdir(main_dir)
# you can change file extension below to read other image types
images_list = [i for i in files if i.endswith('.jpg')] ## output file names only
for idx,image in enumerate(images_list):
print(idx)
img = Image.open(main_dir + image)
#print(img.size)
#plt.imshow(img)
img = img.resize((480, 600))
img.save(main_dir + image)
pip install ThreadedFileLoader
您可以使用 ThreadedFileLoader
模块。它使用线程加载图像。
from ThreadedFileLoader.ThreadedFileLoader import *
instance = ThreadedImageLoader("path_to_folder/*.jpg")
instance.start_loading()
images = instance.loaded_objects
print(len(images))
print(images[0].shape)