Category Archives: RM2/Graffiti

RM2 – Graffiti Remake

Attempt with Python

Experimented around with the simple blob detection, especially the characteristics. At first I inferred the characteristics of the blob detection was responsible for creating the shapes on the canvas. I soon learned that the characteristics were for filtering of the light source or blobs rather than the shapes created. And after filtering the blobs, they are drawn over with circles (in response to the size of the blobs) using drawKeyPoints.

I ended up playing around with the colours of the threshold, size and colour of the circles drawn on.

Video Demo

graffiti_demo

Further implementations

Audrey and I decided to make further improvements by experimenting with background subtraction (frame difference) along with the blob tracking, and finally implementing a clear function to clean the canvas when needed.

Initially, we thought of using time (like a count down, or after a certain period of time) to clear the canvas, however this proved to be not user friendly. We then assigned the right mouse click to AddWeight alpha to 0, clearing the canvas and then recapturing the webcam image for the background of the canvas.

Finally we adjusted the characteristics of the blob detection  to filter out the white difference blobs and have drawKeyPoints over them, mainly the threshold, area.

Video Demo 2

graffiti2_demo