【问题标题】:numpy array reshape astype too slownumpy 数组重塑 astype 太慢
【发布时间】:2018-12-19 14:39:12
【问题描述】:

对于从网络摄像头读取的 640x480x3 图像,为 TensorFlow 准备它的瓶颈是这个 reshape 命令:

def load_image_into_numpy_array(image):

    (im_width, im_height) = image.size
    return np.array(image.getdata()).reshape((im_height, im_width, 3)).astype(np.uint8)

为什么这需要这么长时间,有什么办法可以加快速度?

【问题讨论】:

  • 你确定image.getdata() 不是问题吗?你在这里使用了探查器,还是只打印了几张? reshape 对您的数据不做任何事情(它只是元数据,它不会改变内存)。转换为 np.uint8 也应该很快。
  • 我认为你是对的,getdata() 命令是慢的部分

标签: python numpy tensorflow


【解决方案1】:

我可以用

import time
import picamera
import numpy as np

with picamera.PiCamera() as camera:
    camera.resolution = (320, 240)
    camera.framerate = 24
    time.sleep(2)
    output = np.empty((240, 320, 3), dtype=np.uint8)
    camera.capture(output, 'rgb')

【讨论】:

  • 目前尚不清楚这是如何解决问题的,这似乎与您的问题完全不同。如果您的问题得到解决,我认为您应该删除您的问题。
猜你喜欢
  • 1970-01-01
  • 2016-02-10
  • 2020-07-11
  • 1970-01-01
  • 2013-12-13
  • 2020-10-25
  • 2021-03-03
  • 2013-01-06
  • 2017-08-15
相关资源
最近更新 更多