1. 程式人生 > >python的多程序應用--讀取儲存圖片

python的多程序應用--讀取儲存圖片

例一

使用Pool.map函式實現多程序,稍微有點low,可用範圍較窄。

#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) #也可以儲存

if __name__ =="__main__":
    img_path = '存放影象的目錄/'
    imgs = get_image_paths(img_path)
    print imgs

    pool = Pool()#引數如果為空,表示使用所有核心
    pool.map(create_read_img,imgs)#map的第二個引數imgs,必須是可迭代的
    pool.close()
    pool.join()
    # for i in imgs:
    #     create_read_img(i)  這部分是迴圈,可以用來對比時間

    end = time.time()
    print end - start