explaingit

debarghyaxyz/gesture-camera-controller

0PythonAudience · developerComplexity · 2/5ActiveSetup · moderate

TLDR

Desktop Python camera app where a webcam tracks hand gestures via MediaPipe to trigger photo capture, zoom, and a Pro Mode toggle, with a CustomTkinter UI.

Mindmap

mindmap
  root((gesture-camera))
    Inputs
      Webcam feed
      Hand landmarks
    Outputs
      Captured photos
      Zoomed view
      Mode toggle
    Use Cases
      Touchless selfies
      Demo MediaPipe
      Accessibility input
    Tech Stack
      Python
      OpenCV
      MediaPipe
      CustomTkinter

Things people build with this

USE CASE 1

Capture photos hands-free using an open-then-close-then-open gesture in front of the webcam.

USE CASE 2

Pinch and spread fingers to control zoom on a desktop camera preview.

USE CASE 3

Demo a MediaPipe hand landmark pipeline driving a CustomTkinter UI.

USE CASE 4

Fork as a starting point for an accessibility-focused camera input tool.

Tech stack

PythonOpenCVMediaPipeCustomTkinter

Getting it running

Difficulty · moderate Time to first run · 30min

README has no install or usage commands; you need to pip-install opencv-python, mediapipe, and customtkinter and find the entry script yourself.

License is not stated in the available content.

In plain English

This project is a small desktop camera app written in Python that lets you take photos and zoom with hand gestures instead of buttons. The README calls it a touchless smart camera, where a webcam watches your hand and the program reacts to specific finger patterns. The hand tracking is done with two open-source libraries called OpenCV and MediaPipe. MediaPipe finds points on your hand in each video frame, and the code interprets those points as gestures. Opening your hand, then closing it, then opening it again triggers a photo capture. A pinch gesture turns on a zoom mode, and changing the distance between two fingers zooms in or out. A two-hand gesture switches the app into what the README calls Pro Mode, and a different special gesture turns Pro Mode back off. The interface is built with CustomTkinter, a modern-looking version of the standard Python Tk toolkit. The README lists features such as a countdown before each capture, a cooldown so it does not fire the shutter many times in a row, a manual capture button, real-time camera processing, and automatic saving of the resulting images. The code is organized into a main script, a hand tracking module, a folder for captured images, and a small data folder that keeps track of the image number for filenames. The README is short and does not include install or usage commands, a license, or any benchmarks.

Copy-paste prompts

Prompt 1
Run DebarghyaXYZ/gesture-camera-controller locally with OpenCV and MediaPipe and explain how to trigger a photo capture.
Prompt 2
Add a new gesture to the controller that toggles a self-timer of 5 seconds.
Prompt 3
Refactor the gesture detection module to support left-handed users and explain which landmark indices change.
Prompt 4
Swap CustomTkinter for a PyQt6 UI in this project while keeping the gesture logic intact.
Prompt 5
Sketch how to log every detected gesture to a CSV for later analysis without slowing the camera loop.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.