3. Filters

A filter, for video-pipeline intents and purposes, can be thought of as an independent module that knows how to filter/manipulate/transform an image frame. The transformation logic changes by implementation.

When an image frame is sent to a filter for processing, the input frame is in 3 channel RGB format and will expect filters to return a processed image with the same format.

3.1. Built-In Filters

The built-in filters are mostly built off of scikit-image and intentionally don’t do much processing to keep them simple to provide a general idea of how one might go about building their own.

However some of the filters use opencv to demonstrate more complex filters. These filters will require you to install opencv since this package doesn’t directly depend on it.

Available implementations:

  • gray-scale [GrayScaleFameFilter] - Converts image frame to a gray scale image frame.
  • find-edges [FindEdgesFrameFilter] - Filters out edges in an image frame.
  • color-filter [ColorFilterFrameFilter] - Filters an image frame by a range of colors in HSL colorspace using opencv.
  • face-tracker [FaceTrackerFrameFilter] - Draws bounding boxes around faces and eyes using the default opencv haarcascade frontalface classifier.

3.2. Custom Filters

Currently Not Implemented

To learn how to build your own custom filter see the custom filter example.