← back to the pad

Touchless Gesture Control

Hands-free kiosk control, built at Creative Energy

PythonMediaPipeOpenCVTensorFlowWin32 API

Built
June – September 2023
Status
Prototype, driven by a live camera feed
Stack
Python, MediaPipe, OpenCV, TensorFlow, PyAutoGUI, pywin32
Code
Private — happy to walk through it

Problem

A kiosk in a public space is a shared touchscreen — a surface a few hundred strangers press in a day. For an exhibit you want the opposite of that: someone walks up, the thing responds, and they never touch it.

Handing out a controller solves the hygiene problem and creates three new ones, all of which involve staff walking over. Whatever replaced the touchscreen had to work for someone who has never seen it before, with no instructions and nothing in their hands.

Solution

A webcam, MediaPipe, and a bridge into the Windows input stack. The visitor’s hand becomes the cursor.

Worth noting

Both models are read into memory and handed to MediaPipe as a buffer rather than a file path, because the path-based loader doesn’t behave on Windows. It’s two extra lines and a comment explaining why, which is the kind of thing that saves the next person a genuinely miserable afternoon.

The real lesson was that recognising a gesture is the easy half. Deciding whose gesture counts — in a room where people wander through frame — is what makes it usable in public.