【发布时间】:2025-11-24 07:55:01
【问题描述】:
我想知道将图像和 PDF 文件作为 numpy 数组进行处理的最有效方法是什么。
到目前为止,我已经看到 scipy.ndimage.imread 并使用 PIL 和 numpy,得到以下结果:
import os
import glob
from scipy.ndimage import imread
from PIL import Image
import numpy as np
import timeit
iters = 2
def scipy_fun():
for x in glob.glob("*.jpg"):
px = imread(x)
def PIL_fun():
for x in glob.glob("*.jpg"):
with Image.open(x) as im:
px = np.array(im)
print(timeit.Timer(scipy_fun).timeit(number=iters))
print(timeit.Timer(PIL_fun).timeit(number=iters))
运行脚本显示了类似的结果,但 scipy 略好:
2.8794324089019234
3.0174482765699095
有没有更快的方法来做到这一点?
【问题讨论】:
-
您可以尝试的另一个库是imageio。
-
谢谢!
imageio似乎是一个非常好的库。输出为scipy: ~4 secs imageio: ~3 secs PIL: ~4 secs
标签: python performance numpy scipy python-imaging-library