在raspberry Pi3上使用V4L2、python的奇怪结果

2024-05-14 07:20:16 发布

您现在位置:Python中文网/ 问答频道 /正文

奇怪的编码结果没有什么意义。我试图从一个使用V4L2驱动程序的覆盆子pi相机捕捉,因为我需要使用cv2进行图像处理。我使用python编写代码。在

奇怪之处在于使用cv2拍摄图像。当我输入以下命令时

import cv2
from matplotlib import pyplot

camera = cv2.VideoCapture(0)
grab,frame = camera.read()
pyplot.imshow(frame)

我可以抓取一个帧并使用matplotlib显示它。当我抓到第二帧

^{pr2}$

代码将抓取第二帧并显示得非常好。在

但是,当我尝试使用现有的变量,如frameframe2时,相机不会抓取新的帧,而只打印之前的帧。在

我试图通过键入来清除变量

frame = []
grab,frame = camera.read()
pyplot.imshow(frame)    

但这并没有解决问题,仍然打印先前的帧。在


Tags: 代码import编码read覆盆子matplotlib驱动程序cv2
1条回答
网友
1楼 · 发布于 2024-05-14 07:20:16

我想你是在忍受缓冲的折磨!在

OpenCV读取一个帧时,它往往会聚集一些,我想大概是5帧左右,或者可能有某种算法确定可用内存或类似的东西。在

不管怎样,答案是多读几个帧来清除缓冲区,然后它将获得一些新的帧。在

相关问题 更多 >

    热门问题