mertinkos/cat-face

GitHub: mertinkos/cat-face

基于 MediaPipe landmark 和规则引擎的桌面应用,实时检测手势、姿势与面部表情并匹配显示对应的猫咪表情包。

Stars: 0 | Forks: 0

# 🐱 猫脸 这是一款桌面应用程序,能够实时检测你在镜头前的姿势、手势或面部表情, 并在侧边栏中显示匹配的猫咪表情包。 它完全**基于规则**运行:在 MediaPipe 的手部和面部 landmark 之上 应用几何规则(+ 用于面部表情的模型 blendshape 分数), 没有训练任何额外的 ML 模型。 ## 姿势 | 姿势    | 如何操作 | 猫咪 | | -----------| ----------------------------------------------------| ------------------| | 🙏    | 双掌合十,手指朝上 | `praying_cat` | | 🕶️ 特工  | 将食指或大拇指靠近太阳穴/耳朵 | `cool_sticker` | | 😱 震惊 | 一只手捂住嘴,另一只手举起 | `arms_up_kitten` | | ☝️ 指向 | 只伸出食指 | `pointing_cat` | | 🤙 傻气 | 张开大拇指 + 小指,收起中间三指 | `shaka_cat` | | 😢 难过 | 噘起嘴唇 | `crying_cat` | | 😴 困倦 | 闭眼 + 张嘴 | `tongue_cat` | 一旦检测到姿势,就会立即显示匹配项;当姿势中断时,经过短暂的容忍 时间(0.3 秒)后,匹配状态将解除(可防止单帧抖动)。 ## 安装说明 需要 Python 3.12+。 ``` git clone cd cat-face python -m venv .venv .venv\Scripts\activate # Windows pip install -r requirements.txt ``` ## 运行说明 ``` python main.py ``` 首次运行时,MediaPipe 模型文件(约 11 MB)会自动下载到 `models/` 文件夹中。按 **Q** 或 **ESC** 退出。 要在屏幕上显示 blendshape 分数以调整面部表情阈值: ``` python main.py --debug ``` ## 项目结构 ``` main.py # Kamera döngüsü, landmark tespiti, iki panelli arayüz hand_rules.py # 5 el jesti kuralı (landmarks -> jest adı | None) face_rules.py # 2 yüz ifadesi kuralı (landmarks + blendshapes -> ifade | None) matcher.py # Zaman bazlı stabilizasyon (0.5 sn sabit tespit -> onay) assests/ # Kedi görselleri / gif'leri models/ # MediaPipe .task modelleri (otomatik indirilir, git'e girmez) ``` ## 添加新姿势 1. 在 `hand_rules.py` 或 `face_rules.py` 中编写规则函数,并将其 连接到相关的 `detect_*` 函数。 2. 将其添加到 `main.py` 中的 `POSE_ASSETS` 和 `POSE_LABELS` 字典中。 3. 将图像放入 `assests/` 文件夹中(png/jpg/gif;扩展名不限)。
标签:MediaPipe, OpenCV, TCP/UDP协议, 姿态识别, 手势识别, 桌面应用, 表情识别, 计算机视觉, 逆向工具