Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 字节流到Numpy阵列?(皮卡梅拉)_Python_Arrays_Opencv_Numpy_Stream - Fatal编程技术网

Python 字节流到Numpy阵列?(皮卡梅拉)

Python 字节流到Numpy阵列?(皮卡梅拉),python,arrays,opencv,numpy,stream,Python,Arrays,Opencv,Numpy,Stream,我用Picamera和覆盆子皮来拍照,然后分析它们之间的差异。我正在使用以下代码捕获BytesIO流,然后将其读入Numpy数组(借用自): 分析代码按照它应该的方式工作,只是它不断重复使用同一帧。我假设这一定是我从流中读取数据的方式有问题,但我在Python方面的经验不足,不知道如何更改它。任何提示或帮助都将不胜感激。在else分支中,您正在将当前捕获的帧分配给名称currentDate,以便在下一行中用以前的数据替换此帧。因此,之前从该行捕获的帧将丢失,因为不再有名称或其他参考点。删除第二个

我用Picamera和覆盆子皮来拍照,然后分析它们之间的差异。我正在使用以下代码捕获BytesIO流,然后将其读入Numpy数组(借用自):


分析代码按照它应该的方式工作,只是它不断重复使用同一帧。我假设这一定是我从流中读取数据的方式有问题,但我在Python方面的经验不足,不知道如何更改它。任何提示或帮助都将不胜感激。

else
分支中,您正在将当前捕获的帧分配给名称
currentDate
,以便在下一行中用
以前的数据替换此帧。因此,之前从该行捕获的帧将丢失,因为不再有名称或其他参考点。删除第二个作业。

我忘了提到那行的功能。它在分析单个帧之后出现,但需要使用
currentData
进行下一次分析比较。因此,我们用
currentData
中的图像替换先前的
currentData
,然后取一个新图像作为
currentData
。这个过程一直持续到窗口关闭为止(done=true)。有问题的行在省略的部分之前,而不是之后,这显然是该代码中的问题,因为这是代码除了第一个帧之外从不处理任何捕获帧的原因。这句话毫无意义。哇!对我来说,这是一个巨大的错误。我应该更仔细地阅读我自己的代码。
stream = io.BytesIO()
with picamera.PiCamera() as camera:
    camera.resolution = (100, 60)
    camera.framerate = 30
    while not done:
        camera.capture(stream, format='jpeg', use_video_port=True)
        if previousData == None:
            previousData = cv2.imdecode(np.fromstring(stream.getvalue(), dtype=np.uint8), 1)
            previousData = previousData[:, :, ::-1]
        else:
            timeStartNumpy = time.time()
            currentData = cv2.imdecode(np.fromstring(stream.getvalue(), dtype=np.uint8), 1)
            currentData = previousData[:, :, ::-1]
            ....(omitted analysis code)....
            previousData = currentData