0

基本的に、私は piCamera を RPi に接続しています。USB ウェブカメラではなく、PiCamera を繰り返します。そこからフレームを読み取りたいのですが、実際にはフレームを読み取ることができますが、奇妙な動作がいくつかあります。

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 を使用するためのデフォルトの false フラグを指定しますが、それでもフレームを読み取ることができます。self.stream = WebcamVideoStream(src=src)ソースとしてpiCameraを使用する行はどうですか。

ケース 2: 使用する場合

vs = VideoStream(usePiCamera=True, resolution = (640, 480)).start()

piCamera を使用してフレームを読み取ることはできますが (これは明らかです)、Case1 に比べて遅くなります。理由は何ですか?

結果がまったく表示されない場合でも、ケース 1 の方が速いのはなぜですか? PiCamera を使用する正しい方法として、CASE 2 でより高速な動作を得るにはどうすればよいですか?

ありがとう

4

0 に答える 0