# πΈ 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 β¦