Source code for zoloto.cameras.rpi

import picamera
import picamera.array

from .base import BaseCamera


[docs]class PiCamera(BaseCamera):
[docs] def __init__(self, **kwargs): super().__init__(**kwargs) self.camera = picamera.PiCamera()
[docs] def capture_frame(self): with picamera.array.PiRGBArray(self.camera) as raw_capture: self.camera.capture(raw_capture, format="bgr") return raw_capture.array
[docs] def close(self): super().close() self.camera.close()
[docs]class PiSnapshotCamera(BaseCamera): """ A modified version of PiCamera optimised for single use. - Doesn't keep the camera open between captures """
[docs] def capture_frame(self): with picamera.PiCamera() as camera: with picamera.array.PiRGBArray(camera) as raw_capture: self.camera.capture(raw_capture, format="bgr") return raw_capture.array
[docs] def close(self): super().close() self.camera.close()