https://github.com/manavmax/facedetector
FaceDetector is a modern, cross-platform face detection desktop application built using Qt and OpenCV's deep learning (DNN) module. It allows users to detect faces from webcam or video files, capture cropped face images, and view live thumbnails of detected faces in real-time.
https://github.com/manavmax/facedetector
computer-vision deep-learning dnn face-detection gui-app opencv qt qt6
Last synced: about 2 months ago
JSON representation
FaceDetector is a modern, cross-platform face detection desktop application built using Qt and OpenCV's deep learning (DNN) module. It allows users to detect faces from webcam or video files, capture cropped face images, and view live thumbnails of detected faces in real-time.
- Host: GitHub
- URL: https://github.com/manavmax/facedetector
- Owner: manavmax
- Created: 2025-06-23T11:52:21.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-23T16:48:08.000Z (12 months ago)
- Last Synced: 2025-06-23T17:31:00.434Z (12 months ago)
- Topics: computer-vision, deep-learning, dnn, face-detection, gui-app, opencv, qt, qt6
- Language: Makefile
- Homepage:
- Size: 15.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π§ FaceDetector - Qt C++ Real-Time Face Detection App
A powerful real-time face detection desktop application built using **Qt (C++)**, **OpenCV DNN**, and **modern UI** principles. It supports **webcam**, **local video files**, **manual face capture**, and **thumbnail previews**, making it ideal for educational projects, research, or internship showcases.
---
## π Features
- π₯ Live webcam streaming with real-time face detection
- π Load and analyze local video files
- π€ DNN-based face detection using OpenCVβs `res10_300x300_ssd` model
- πΌοΈ Thumbnail previews of manually captured faces
- πΎ Saves cropped face images to `faces/` folder with **timestamped filenames**
- ποΈ Responsive modern GUI built with Qt Designer
- π’ Start / π΄ Stop / πΈ Capture buttons
- β¨ Status label + face count label
- β
Fully working on macOS (Apple Silicon / Intel)
---
## πΈ Screenshots
| Live Detection | Face Capture | Thumbnails |
|----------------|--------------|------------|
|  |  |  |
---
## π§° Tech Stack
- **Language**: C++
- **GUI**: Qt 6 / Qt Widgets
- **Face Detection**: OpenCV 4.x + DNN module
- **Build System**: CMake
- **Platform**: macOS (tested on Qt 6.9.1)
---
## π Folder Structure
FaceDetector/
βββ main.cpp
βββ mainwindow.cpp / .h / .ui
βββ haarcascade_frontalface_default.xml (optional)
βββ deploy.prototxt
βββ res10_300x300_ssd_iter_140000.caffemodel
βββ faces/ # Cropped face images saved here
βββ CMakeLists.txt
βββ README.md
---
## π» How to Run
### 1. Clone the Repository
```bash
git clone https://github.com/manavmax/FaceDetector.git
cd FaceDetector
```
### 2. Open in Qt Creator
File β Open Project β CMakeLists.txt
Make sure OpenCV is linked in Kit / CMake configuration
### 3. Build & Run
Click the green βΆοΈ Run button in Qt Creator
### 4. Select Webcam or Browse File from the dropdown
---
## βοΈ Model Files Required
Ensure the following two files are placed in the same folder as the executable:
deploy.prototxt res10_300x300_ssd_iter_140000.caffemodel
If running from Qt Creator, copy them to the build/ directory:
cp deploy.prototxt res10_300x300_ssd_iter_140000.caffemodel ./build/
---
### πββοΈ Author
Manav Sharma
---
### π Status
β
Project is complete and fully functional.