我正在评估一个Tensorflow模型,并使用open cv视频帧进行测试。我需要将传入的PIL图像重塑为numpy数组,以便可以对其进行推理。
但是我发现,在我的笔记本电脑上,使用16 GiB内存和2.6 GHz英特尔Core i7处理器将PIL图像转换为numpy数组需要大约900毫秒以上。我需要将此时间缩短到几毫秒,这样我才能在我的相机上每秒处理多个帧。
有谁能建议如何使下面的方法运行更快?
有谁能建议如何使下面的方法运行更快?
def load_image_into_numpy_array(pil_image):
(im_width, im_height) = pil_image.size
data = pil_image.getdata()
data_array = np.array(data)
return data_array.reshape((im_height, im_width, 3)).astype(np.uint8)
经过进一步测试,我意识到np.array(data)
所占用的时间最长…接近于900毫秒。因此,将图像数据转换为numpy数组是真正的罪魁祸首。
(720, 1280, 3)
- Pratik Khadloya