cvloop icon indicating copy to clipboard operation
cvloop copied to clipboard

cvloop allows online video transformation and evaluation with OpenCV. Designed for jupyter notebooks.

cvloop

Provides cvloop, a way to show opencv video loops. Designed for jupyter notebooks.

Simple example: Show webcam feed.

.. code-block:: python

from cvloop import cvloop
cvloop()

More complex example: Show webcam feed side by side with inverted image.

.. code-block:: python

from cvloop import cvloop
cvloop(function=lambda frame: 255 - frame, side_by_side=True)

Complex example: Show video file with background extraction (See OpenCV Documentation; Video).

.. code-block:: python

from cvloop import cvloop
import cv2

def mog2(frame):
    return mog2.fgbg.apply(frame)
mog2.fgbg = cv2.createBackgroundSubtractorMOG2()

cvloop('768x576.avi', function=mog2, side_by_side=True)

More examples: For more examples check out the examples notebook_.

Install

You can simply install cvloop using pip (make sure to install matplotlib, numpy, OpenCV and Jupyter):

.. code-block::

pip install cvloop

Or, if you are using conda and don't want to worry about requirements, just use conda-forge:

.. code-block::

conda config --add channels conda-forge
conda install cvloop

Requirements

(Recommended versions, additionally tested versions in parentheses.)

  • Python 3.6
  • OpenCV 3.2
  • Jupyter 4.3.1
  • matplotlib 2.0.0
  • numpy 1.12.0

Development

To contribute, just fork the repository and create pull requests.

To publish, you need a couple of additional tools: - gpg to sign the packages - twine to upload them - shasum to calculate the checksum for conda-forge - hub to create the pull request for conda-forge

.. _OpenCV Documentation: http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html .. _Video: https://github.com/opencv/opencv_extra/tree/master/testdata/cv/video .. _examples notebook: examples/cvloop_examples.ipynb