# 📸 OCR Image Quality Classifier
A powerful Python tool that automatically classifies images as **clear** or **unclear** for Optical Character Recognition (OCR) processing. This tool uses advanced computer vision techniques to analyze image quality metrics and determine OCR readability.
## 🎯 Overview
This project was developed to solve the common problem of preprocessing images before OCR processing. By automatically filtering out poor-quality images, you can significantly improve OCR accuracy and processing efficiency.
### Key Features
- ✅ **Automated Classification**: Batch process hundreds of images quickly
- 🔍 **Multi-metric Analysis**: Combines blur detection, contrast analysis, brightness assessment, and noise estimation
- 📊 **Detailed Reporting**: Generates comprehensive CSV reports with quality metrics
- 📁 **Organized Output**: Automatically sorts images into clear/unclear folders
- 🚀 **Fast Processing**: Optimized algorithms for quick batch processing
- 📈 **Quality Metrics**: Provides detailed quality scores for each image
## 🛠️ Installation
### Prerequisites
- Python 3.7 or higher
- pip package manager
### Setup
1. **Clone the repository**
```bash
git clone
github.com
cd Mobitel_Hackathon_Classified_Images
```
2. **Create a virtual environment** (recommended)
```bash
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate
```
3. **Install required packages**
```bash
pip install opencv-python numpy pillow pandas matplotlib
```
## 🚀 Usage
### Quick Start
1. **Place your images** in the project directory
2. **Run the classifier**:
```bash
python quick_classifier.py
```
### Custom Configuration
You can customize the classification parameters by modifying the thresholds in the `ImageQualityClassifier` class:
```python
# Classification thresholds
self.blur_threshold = 100.0 # Laplacian variance threshold
self.contrast_threshold = 30 …