最近的工作中遇到了大量的图像读取(图片->array)的操作,如果每次读取的效率都快一些的话,便可以大量节约数据处理方面所耗费的时间。下面主要介绍在Python中经常使用的图像转array的方法,并进行相应的对比。
基础版——仅读入不做任何操作
PIL
PIL是基础的处理图像的库,话不多说PIL下图像转化为np.array:
from PIL import Image
import numpy as np
import datetime
path = 'E:\\1812927-2.JPG'
time_count =0.0
for j in range(10):
begin = datetime.datetime.now()
for i in range(10):
im = Image.open(path)
print(np.asarray(im))
end = datetime.datetime.now()
cost = end-begin
time_count += float(cost.microseconds)
print(time_count/10)
运行结果:
104706.0
OpenCV
import cv2
import numpy as np
import datetime
path = 'E:\\1812927-2.JPG'
time_count =0.0
for j in range(10):
begin = datetime.datetime.now()