为什么OpenCV在浮点上比Numpy快得多?

时间:2019-09-11 17:30:11

标签: python numpy opencv

首先,一个例子:

In[1]: import numpy as np
  ...: import cv2
  ...: arr = np.random.rand(2000, 2000, 3).astype(np.float32)
In[2]: %timeit cv2.cvtColor(arr, cv2.COLOR_RGB2HSV)
13.1 ms ± 758 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
In[3]: %timeit arr*2
13.8 ms ± 172 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

由于某种原因,在numpy中进行此琐碎操作比执行颜色模型的完整转换要花费更长的时间。我正在寻找使用OpenCV进行大部分繁重工作并使用Numpy进行一些胶合操作的实时图像分析,但是鉴于这种情况,Numpy似乎会占用大部分处理时间。是否有一个原因?有没有一种方法可以加快Numpy使其与OpenCV相提并论?是否有办法使用OpenCV为常规阵列操作提供的任何加速?

0 个答案:

没有答案