Source code for draugr.opencv_utilities.raster_sequences.frames

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__author__ = "Christian Heider Nielsen"
__doc__ = r"""

           Created on 21/03/2020
           """

from functools import partial
from typing import Callable, Iterable, Optional

import cv2

__all__ = ["frame_generator", "to_rgb"]

from warg import identity

to_rgb = partial(cv2.cvtColor, code=cv2.COLOR_BGR2RGB)


[docs]def frame_generator( video_stream: cv2.VideoCapture, coder: Optional[Callable] = identity, ) -> Iterable: """ :param video_stream: :param coder:""" if coder is None: coder = identity while video_stream.isOpened(): success, frame = video_stream.read() if success: yield coder(frame) else: break
if __name__ == "__main__": def asd() -> None: """ :rtype: None """ from draugr.opencv_utilities.windows.image import show_image from draugr.tqdm_utilities import progress_bar for image in progress_bar(frame_generator(cv2.VideoCapture(0))): if show_image(image, "frame", wait=1): break # esc to quit asd()