Python要批量读取图片该用哪些包?

1 个回答|96 次阅读
Coco老师 - 科普专家
擅长:编程教育

python中可以使用multiprocessing库实现批量读取图片。

multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。

实现代码如下:

#coding=utf-8  
''''' 
#==================== 
#测试一下进程 
#==================== 
'''  
   
from multiprocessing import Pool  
import scipy  
from scipy import misc  
import os  
import time  
import glob  
from scipy import ndimage  
start = time.time()  
def get_image_paths(folder): #这个函数的作用的获取文件的列表,注释部分是获取  
    # return (os.path.join(folder, f)  
    #     for f in os.listdir(folder)  
    #         if 'png' in f)    
    return glob.glob(os.path.join(folder, '*.png'))  
   
   
def create_read_img(filename):  
    im = misc.imread(filename)      #读取图像  
    img_rote = ndimage.rotate(im, 90) #旋转90度  
    #scipy.misc.imsave('...',img_rote)  
img_path = '存放图像的目录/'  
imgs = get_image_paths(img_path)  
print imgs  
   
pool = Pool()  
pool.map(create_read_img,imgs)  
pool.close()  
pool.join()  
# for i in imgs:  
#     create_read_img(i)  这部分是循环,可以用来对比时间  
   
end = time.time()  
print end - start