All Projects → jchrisweaver → vidpipe

jchrisweaver / vidpipe

Licence: GPL-3.0 license
Video data processing pipeline using OpenCV

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to vidpipe

Pynvvl
A Python wrapper of NVIDIA Video Loader (NVVL) with CuPy for fast video loading with Python
Stars: ✭ 95 (+187.88%)
Mutual labels:  numpy, video-processing
GStreamer-Python
Fetch RTSP Stream using GStreamer in Python and get image in Numpy
Stars: ✭ 81 (+145.45%)
Mutual labels:  numpy, opencv-python
Image Processing
Image Processing techniques using OpenCV and Python.
Stars: ✭ 112 (+239.39%)
Mutual labels:  video-processing, opencv-python
Stb Tester
Automated Testing for Set-Top Boxes and Smart TVs
Stars: ✭ 148 (+348.48%)
Mutual labels:  numpy, video-processing
UDACITY-Deep-Learning-Nanodegree-PROJECTS
These are the projects I did on my Udacity Deep Learning Nanodegree 🌟 💻 💻. 💥 🌈
Stars: ✭ 18 (-45.45%)
Mutual labels:  numpy
Poke-Pi-Dex
Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).
Stars: ✭ 18 (-45.45%)
Mutual labels:  numpy
seapy
State Estimation and Analysis in Python
Stars: ✭ 25 (-24.24%)
Mutual labels:  numpy
SST-Tensorflow
Tensorflow Implementation of the Paper "SST: Single-Stream Temporal Action Proposals" in CVPR 2017.
Stars: ✭ 50 (+51.52%)
Mutual labels:  video-processing
Invisible-Cloak-And-Magic-Wand-using-OpenCV
This is one of my OpenCV that is Computer Vision project named in vi . That is inspired from Harry potter Invisible Cloak
Stars: ✭ 16 (-51.52%)
Mutual labels:  opencv-python
Python-for-data-analysis
No description or website provided.
Stars: ✭ 18 (-45.45%)
Mutual labels:  numpy
opencv-python-inference-engine
Wrapper package for OpenCV with Inference Engine python bindings.
Stars: ✭ 32 (-3.03%)
Mutual labels:  opencv-python
gau2grid
Fast computation of a gaussian and its derivative on a grid.
Stars: ✭ 23 (-30.3%)
Mutual labels:  numpy
CVSandbox
Open source software package, which aims to allow solving different tasks related to computer vision areas, like video surveillance, vision based automation/robotics, different sorts of image/video processing, etc.
Stars: ✭ 56 (+69.7%)
Mutual labels:  video-processing
Realtime-OpenCV-Chess
♔ Chess-playing with Open-CV [Human vs AI (Stockfish engine)]
Stars: ✭ 18 (-45.45%)
Mutual labels:  opencv-python
Information-Retrieval
Information Retrieval algorithms developed in python. To follow the blog posts, click on the link:
Stars: ✭ 103 (+212.12%)
Mutual labels:  numpy
towhee
Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast.
Stars: ✭ 821 (+2387.88%)
Mutual labels:  video-processing
video-colorization
Applying the machine learning tool "DeOldify" on videos, frame by frame.
Stars: ✭ 15 (-54.55%)
Mutual labels:  video-processing
avconv4java
Java interface to avconv tool
Stars: ✭ 26 (-21.21%)
Mutual labels:  video-processing
ml-workflow-automation
Python Machine Learning (ML) project that demonstrates the archetypal ML workflow within a Jupyter notebook, with automated model deployment as a RESTful service on Kubernetes.
Stars: ✭ 44 (+33.33%)
Mutual labels:  numpy
UAV-Stereo-Vision
A program for controlling a micro-UAV for obstacle detection and collision avoidance using disparity mapping
Stars: ✭ 30 (-9.09%)
Mutual labels:  opencv-python

vidpipe

Video data processing pipeline using OpenCV

A video processing toolset that allows the user to interactively modify the data in the video stream to see the immediate effect.

VidPipe GUI

To run

python main.py

Overview

The processing flow is a pipeline that uses filters to transform the data in discrete steps along the dataflow path.

A filter is an object made from a simple python file that that has processing functions called from the main app. The main processing function is passed a single video frame data buffer. That data can be examined and/or modified. The new data can then be passed back to the main app. (See SampleFilter.py for a simple example.)

Filters are arranged and called in a specific order to create a data flow. The order of the filters matches the order in which they appear in the right-hand side of the dialog box in the scroll window. Each filter can enabled, disabled or drag-drop rearranged to change the processing order. Each filters effects can be immediately visible in the processed video feed and compared to the preview video feed.

Pipeline Overview

Each filter takes a single action. For example, the Blur Filter takes an incoming video frame, applies a blur action to the frame data and then passes the new frame data to the next filter in the path.

GUI Guide

The filters that are currently implemented are:

  • Blur filter - uses OpenCV GaussianBlur function
  • Simple motion detector
  • Edge detector - uses OpenCV Canny and findCountours functions
  • Activity detector

New filters can be added with the following steps: TODO: Add steps here!

The GUI is designed with QT for simplicity, which must be installed manually (https://www.qt.io/download)

Why I Wrote This

I took the PyImageSearch Gurus course to learn more about computer vision. Many of the steps required to process an image have several discrete stages of manipulation or analyis of the image data to arrive at a result.

I wanted to better understand how each discrete step affected the image data and how rearranging the order of each step affected the data. This tool made it extremelty easy to visualize each step. I've continued to add additional fun filters as time and interest permit.

If you use and enjoy this tool, please let me know @jchrisweaver on twitter.

And by all means, please submit PRs if you'd like to add features, fix bugs, etc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].