所以基本上我的 RPi 附带了 piCamera,我重复 PiCamera 而不是 USB 网络摄像头。并想从中读取帧,我实际上能够读取帧但有一些奇怪的行为。
from imutils.video import VideoStream
案例1:如果我使用
vs = VideoStream(src=0, resolution = (640, 480)).start()
即使 VideoStream 库具有以下实现,它也会显示帧:
class VideoStream:
def __init__(self, src=0, usePiCamera=False, resolution=(320, 240),
framerate=32, **kwargs):
# check to see if the picamera module should be used
if usePiCamera:
# only import the picamera packages unless we are
# explicity told to do so -- this helps remove the
# requirement of `picamera[array]` from desktops or
# laptops that still want to use the `imutils` package
from .pivideostream import PiVideoStream
# initialize the picamera stream and allow the camera
# sensor to warmup
self.stream = PiVideoStream(resolution=resolution,
framerate=framerate, **kwargs)
# otherwise, we are using OpenCV so initialize the webcam
# stream
else:
self.stream = WebcamVideoStream(src=src)
基本上它提供了一个默认的错误标志来使用 piCamera,但我仍然能够读取帧。self.stream = WebcamVideoStream(src=src)
使用 piCamera 作为来源的线路如何。
案例2:如果我使用
vs = VideoStream(usePiCamera=True, resolution = (640, 480)).start()
我仍然可以使用我的 piCamera 读取(这很明显)帧,但与 Case1 相比它要慢一些。是什么原因?
为什么案例 1 更快,即使它根本不应该显示结果?我怎样才能在 CASE 2 中获得更快的行为,因为这是使用 PiCamera 的正确方法?
谢谢