python 下,如何快速批次的把 numpy.ndarray 格式的圖片轉成 PIL 庫的 Image 格式的圖片

ponponon發表於2023-03-29

測試圖片

圖片的大小為 94KB,解析度為 959x959

首先寫一個 python 程式碼,看看 PIL 庫能不能利用多個 CPU 核心

ndarray_2_image.py

from PIL import Image
import numpy as np
import os
import time

img_path = 'resources/images/std.jpg'  # 圖片資料夾路徑


_image = np.array(Image.open(img_path))

s=time.time()
for _ in range(10000000):
    image = Image.fromarray(_image)
e=time.time()

print(e-s)

可以從 htop 中看到,PIL 庫並不能利用多核 CPU

圖片.png


格式轉換速度測試:

測試平臺1:Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
測試平臺2:macbook pro Apple Silicon M1

平臺迴圈次數耗時(秒)
E5-26901000.066
E5-269010000.652
E5-2690100006.49
Apple Silicon M11000.0919
Apple Silicon M110000.736
Apple Silicon M1100005.878

相關文章