Skip to main content

No project description provided

Project description

CVPubSubs

A threaded PubSub OpenCV interfaceREADME.md. Webcam and video feeds to multiple windows is supported.

Installation

CVPubSubs is distributed on PyPI <https://pypi.org>_ as a universal wheel and is available on Linux/macOS and Windows and supports Python 2.7/3.5+ and PyPy.

$ pip install CVPubSubs

Usage

Video Editing and Publishing

Display your webcam

import cvpubsubs.webcam_pub as w

w.VideoHandlerThread().display()

Change Display Arguments

import cvpubsubs.webcam_pub as w

video_thread = w.VideoHandlerThread(video_source=0,
                                    callbacks = w.display_callbacks,
                                    request_size=(800, 600),
                                    high_speed = False,
                                    fps_limit = 8
                                    )

video_thread.display()

Run your own functions on the frames

import cvpubsubs.webcam_pub as w

def redden_frame_print_spam(frame, cam_id):
    frame[:, :, 0] = 0
    frame[:, :, 1] = 0
    print("Spam!")

w.VideoHandlerThread(callbacks=[redden_frame_print_spam] + w.display_callbacks).display()

Display multiple windows from one source

import cvpubsubs.webcam_pub as w
from cvpubsubs.window_sub import SubscriberWindows

def cam_handler(frame, cam_id):
    SubscriberWindows.set_global_frame_dict(cam_id, frame, frame)

t = w.VideoHandlerThread(0, [cam_handler],
                         request_size=(1280, 720),
                         high_speed=True,
                         fps_limit=240
                         )

t.start()

SubscriberWindows(window_names=['cammy', 'cammy2'],
                  video_sources=[str(0)]
                  ).loop()

t.join()

Display multiple windows from multiple sources

iport cvpubsubs.webcam_pub as w
from cvpubsubs.window_sub import SubscriberWindows

t1 = w.VideoHandlerThread(0)
t2 = w.VideoHandlerThread(1)

t1.start()
t2.start()

SubscriberWindows(window_names=['cammy', 'cammy2'],
                  video_sources=[0,1]
                  ).loop()

t1.join()
t1.join()

License

CVPubSubs is distributed under the terms of both

  • MIT License <https://choosealicense.com/licenses/mit>_
  • Apache License, Version 2.0 <https://choosealicense.com/licenses/apache-2.0>_

at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
CVPubSubs-0.2.2-py3-none-any.whl (9.7 kB) Copy SHA256 hash SHA256 Wheel py3
CVPubSubs-0.2.2.tar.gz (10.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page