有了这种方法,你可能不会做太多事情来加快你的图像阅读速度。我认为Matplotlib可能更快,因为它直接以浮点和RGB顺序读取,但它比OpenCV慢三倍,甚至在转换类型和通道顺序之后也是如此。PIL比Matplotlib快一点,但速度仍然是OpenCV的两倍,所以这没有帮助,scikit image的速度与PIL差不多:import matplotlib.image as mpimg
import cv2
import numpy as np
from skimage import io
from PIL import Image
import timeit
times = range(1000)
# matplotlib
start_time = timeit.default_timer()
for t in times:
img = mpimg.imread('img1.png')
print("mpimg.imread(): ", timeit.default_timer() - start_time, "s")
# OpenCV
start_time = timeit.default_timer()
for t in times:
img = cv2.cvtColor(
cv2.imread('img1.png'), cv2.COLOR_BGR2RGB).astype(np.float32)/255.0
print("cv2.imread(): ", timeit.default_timer() - start_time, "s")