Source code for gbvision.utils.cameras.async_camera

import abc
from .camera import Camera
from gbvision.utils.async_readable import AsyncReadable


[docs]class AsyncCamera(Camera, AsyncReadable, abc.ABC): """ An abstract class that represents an async camera The async camera is similar to a regular camera, but executes the read actions on another thread thus not blocking the processing thread You will usually want to inherit from this class and from another camera class in order to use the async functionality for example: Example:: class AsyncUSBCamera(AsyncCamera, USBCamera): def _read(self) -> Tuple[bool, Frame]: return USBCamera.read(self) def __init__(self, port, data=UNKNOWN_CAMERA): USBCamera.__init__(self, port, data) AsyncCamera.__init__(self) """ def __init__(self): AsyncReadable.__init__(self)