Apply basic filters to video in real time.
Face Detection: Uses face and eye detection to apply wearable mask filters that adjust size and position to cover the target.
![](screen_shots/face_detect.gif)
Geometric Transformations: Translate the video along the x or y axis, rotate the video about it's center or increase / decrease the scale of the video.
![](screen_shots/geometric_transform.gif)
ctrl + c: copy current frame to clipboard
ctrl + s: save current frame
q: quit
f: on / off face detection
h: Cycle the thickness of the face detection ring (none, 1, 3, 5, solid)
g: on / off for foreground opacity
r: resets all modifications to initial state
left / right-arrow: Change between features
up / down-arrow: Change the current feature's settings
The filters are applied sequentially to the video frame such that filteres of different types can be used together.
For example, an eye mask filter that uses face detection can be used at the same time as an image rotation and a Canny edge detection filter are applied:
Or a color filter can be applied on top of a Laplacian edge detection filter with moderate image blur:
Please read the LICENSE file as well as the Intel licence located in the header of video_editor.py
The latter is included because the haar_cascade face and eye classifiers were obtained here: https://github.com/opencv/opencv/tree/master/data
All images were labeled free for personal use and the original artists are listed in images/artist_credits.txt.