本文对常见的图像读取函数进行了速度测试
- jpeg4py 第三方库
- Pillow
- opencv-python
结论:
单线程下,jpeg4py速度是pillow的3倍,是cv的2.35倍
import jpeg4py
import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from cv2 import imread
path = '/home/ryf_stu01/pytracking/dataset/got10k/GOT-10k_Train_004502/00000015.jpg'
- jpeg4py
%timeit img = jpeg4py.JPEG(path).decode()
5.18 ms ± 51.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
- Pillow(PIL)
%timeit np.array(Image.open(path))
25.3 ms ± 447 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
- opencv
%timeit imread(path)
12.3 ms ± 82 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)