繁体   English   中英

在树莓派 3 上使用 V4L2、python 的奇怪结果

[英]Weird outcomes using V4L2, python, on raspberry pi 3

奇怪的编码结果没有多大意义。 我正在尝试使用 V4L2 驱动程序从 raspberry pi 相机捕获,因为我需要使用 cv2 进行图像处理。 我正在使用python编写代码。

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

import cv2
from matplotlib import pyplot

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

我能够抓取一个框架并使用 matplotlib 显示它。 当我抓取第二帧时

grab,frame2 = camera.read()
pyplot.imshow(frame2)

该代码将抓取第二帧并完美显示。

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

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

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

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

我认为您正在“遭受缓冲”

OpenCV读取一帧的时候,往往会聚集一些,我觉得是5帧左右,或者可能有什么算法可以确定可用内存或类似的东西。

无论如何,答案是读取更多帧以清除缓冲区,然后它将获取一些新帧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM