meowmeowcatcam README

The project's README from github.com/catherpiee/meowmeowcatcam. As one markdown file: README.md.

Gesture Meme Detector

Turn the camera on, make some gestures listed below to have the cat meme pop up next to you!

It will show up as:

Gestures

# Gesture How to trigger
1 Fingers Together (muehehe) Both hands up, index fingers only, tips touching
2 Devastated cat Both hands up, above the top of your head
3 Crash out Cat Both hands up beside your face, not above your head
4 Fist One hand, all four fingers curled
5 Rockstar Thumb + pinky out
6 Shhh Index finger only, tip resting on your mouth
7 One Finger Up Index finger only, held away from your face
8 Kidnap cat Any hand shape sitting where your face just was
9 i HAVE NO MONIES One open palm, all fingers extended, away from your face
10 Side Eye Just turn your head
11 Default Nothing in particular, hands down
12 Judgy cat while munching on food Look down slightly sideways
13 Huh Open your mouth and be shocked
14 O I I.A I SPIN SPIN SPIN

Meme images live in memes/. A couple of gestures pick randomly between multiple images.

Running it — desktop (Python)

Requires Python 3 and a webcam.

Easiest way: just double click Launch Gesture Meme.command. First run takes a minute to set itself up (installs everything automatically), then launches straight away. Every run after that is instant.

First time opening it: macOS will warn "cannot be opened because it is from an unidentified developer" — this is normal for any downloaded script, not specific to this one. Right-click the file → Open → click Open in the dialog that appears. You only need to do this once.

Or manually, if you prefer Terminal:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 gesture_meme.py

Press q or Esc in the Camera window to quit.

Running it — browser

No install needed, but the webcam API requires serving over HTTP (opening index.html directly as a file:// URL will not get camera permission). From this folder:

python3 -m http.server 8000

Then open http://localhost:8000 and allow camera access. Models load from Google's hosted MediaPipe CDN at runtime, so nothing local is needed for the browser version.

Live debug HUD

The Camera window always shows a small readout in the top-left corner:

gesture: sideEyeCat
yaw: +18.4 deg  (side-eye thr +/-15.0)

Useful for tuning the detection thresholds at the top of gesture_meme.py / app.js if a gesture is triggering too easily or not easily enough for your setup/lighting.

Project layout

gesture_meme.py   desktop version (OpenCV + MediaPipe Python tasks API)
app.js            browser version (MediaPipe tasks-vision WASM)
index.html        browser UI shell
memes/            meme images (+ one video, unused for now)
models/           MediaPipe .task model files used by the desktop version
requirements.txt  Python dependencies

meowmeowcatcam (catherpiee/meowmeowcatcam)

Searching Database…

What is this?A webcam gesture-meme detector: it watches your hand gestures and head movements through your camera and pops up a matching cat meme next to your live feed in real time.
Is this a desktop app or something that runs in the browser?Both — there's a Python desktop version launched with a double-clickable .command file, and a plain browser version (index.html + app.js) that uses the webcam API directly, no install needed.
How do I get it running?For desktop, just double-click 'Launch Gesture Meme.command' — the first run installs everything automatically and every run after that launches instantly. For the browser version, serve the folder over HTTP and open index.html, then allow camera access.
Do I need Python installed, or anything else?The desktop version needs Python 3 and a webcam; the browser version needs nothing local since the hand-tracking models load live from Google's hosted MediaPipe CDN.
Any gotchas when first opening it?On macOS the first launch will warn that it 'cannot be opened because it is from an unidentified developer' — right-click the file, choose Open, then confirm; you only need to do this once. The browser version also won't get camera permission if you open index.html directly as a file:// URL, it must be served over HTTP.
Does this only work on macOS?The desktop launcher is a macOS .command script with macOS-specific unidentified-developer warnings, so it's built for macOS; the browser version should work on any system with a webcam and browser camera support.
What gestures does it recognize?14 gestures total, from finger shapes like 'Fist', 'Rockstar' (thumb+pinky), and 'Shhh' to head/face movements like 'Side Eye', 'Huh', and a spinning 'O I I.A I' gesture — each triggers a different cat meme.
What's the live debug HUD for?The Camera window always shows a small readout in the top-left corner so you can tune the detection thresholds in gesturememe.py or app.js if a gesture triggers too easily or not easily enough for your lighting/setup.
Can I swap in my own memes?Yes, meme images live in the memes/ folder, and some gestures randomly pick between multiple images for that gesture.
How do I quit the desktop app?Press q or Esc while the Camera window is focused.
Creator
catherpiee
Size
15.9 MB
Stars
256
Updated
CommitAug 29
Age
2mo
Commits · 90 Days