A web application that automatically detects and blurs faces in images and videos using OpenCV.
- Face Detection: Automatically detects faces using multiple OpenCV models:
- Haar Cascade (Default) - Standard frontal face detection
- Haar Cascade (Alternative) - Alternative frontal face classifier
- Haar Cascade (Alternative 2) - Second alternative classifier
- Haar Cascade (Profile) - Profile face detection
- Multiple Effects: Apply blur or pixelation effects to detected faces
- Configurable Parameters:
- Adjustable blur strength (5-99)
- Configurable pixelation size (5-50)
- Multi-format Support: Works with images (JPG, PNG, GIF) and videos (MP4, AVI, MOV)
- Simple Web Interface: Easy-to-use interface with model selection and parameter controls
- Dockerized: Ready to run with Docker
- Build the Docker image:
docker build -t face-blurring-app .
- Run the container:
docker run -p 5000:5000 face-blurring-app
- Open your browser and go to
http://localhost:5000
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
- Open your browser and go to
http://localhost:5000
- Open the application in your web browser
- Choose an image or video file (drag and drop or click to browse)
- Select the face detection model from the dropdown
- Adjust blur strength and pixel size using the sliders
- Select the effect (Blur or Pixelate)
- Click "Process File" to upload and process
- View the results and download the processed file
- Images: JPG, JPEG, PNG, GIF
- Videos: MP4, AVI, MOV
- Backend: Python Flask
- Face Detection: OpenCV with multiple Haar Cascade classifiers
- Frontend: HTML, CSS, JavaScript with responsive design
- Container: Docker with Python 3.9 slim base image
- Configuration: Real-time parameter adjustment with sliders