Python package provinding tools for artistic interactive applications using AI

Created by ReDrawing Campinas team for the OpenCV AI 2021 Competition.


Stages are the basic processing units of the redrawing package. They receive data objects from input channels, processes them and output data in the output channels.

Examples of stages:

Stage name Use
OAK_Stage Handles a OAK camera. Can be changed using OAK_Substages, like a Body detector or a Hand gesture detector
PCR_Viewer Visualizer for image, depth and body pose data
CameraReceiver/IMUReceiver Receives data from a smarthphone
UKF_IMU UKF filter for orientation estimation using IMU data

Data and communication

All inter stage data communication occours using Data classes.

Examples of data classes:

Data class Use
BodyPose Stores body pose data (keypoints)
Image Stores image data
Depth_Map Stores depth data
IMU Stores IMU data

For exchange data with client applications, the UDP_Stage can be used, using UDP protocol with JSON converted messages. We also have client libraries for receiving and decoding data:

  • redrawing_java: client library for Java
  • ReDrawing for Processing: client library for Processing, encapsulates the redrawing_java library