Skip to main content

What is CoroNet?

CoroNet is an intelligent license plate recognition system that combines the power of OpenAI’s GPT-4o Vision and Tesseract OCR to automatically detect and extract license plate numbers from uploaded images. Built with Flask and Python, it provides a simple web interface for managing vehicle registration records.
CoroNet uses a dual-detection approach: primary detection with GPT-4o Vision for accuracy, with Tesseract OCR as a fallback for reliability.

Key Features

AI-Powered Detection

Uses OpenAI’s GPT-4o-mini model to intelligently extract license plate text from images with high accuracy

Fallback OCR

Tesseract OCR provides a reliable backup when AI detection doesn’t work, ensuring no plate goes undetected

Record Management

Store and manage vehicle records including owner information, vehicle type, observations, and timestamps

Data Export

Export all records to CSV format for analysis, reporting, or integration with other systems

How It Works

CoroNet follows a simple yet powerful workflow:
1

Image Upload

Users upload a photo containing a vehicle license plate through the web interface
2

AI Detection

The image is sent to OpenAI’s GPT-4o-mini model, which analyzes the image and extracts the license plate text
3

Fallback Processing

If AI detection returns “NO_DETECTADA”, Tesseract OCR automatically processes the image as a backup
4

Record Storage

The detected plate number, along with optional metadata (owner, vehicle type, observations), is saved to a CSV database
5

Record Management

View, search, and manage all stored records through the web interface or export them as CSV

Architecture Overview

CoroNet is built on a simple but effective architecture:
┌─────────────────┐
│   Web Browser   │
│  (User Interface)│
└────────┬────────┘


┌─────────────────┐
│  Flask Server   │
│   (app.py)      │
└────────┬────────┘

    ┌────┴────┐
    ▼         ▼
┌────────┐ ┌──────────┐
│ OpenAI │ │Tesseract │
│GPT-4o  │ │   OCR    │
└────────┘ └──────────┘


┌─────────────────┐
│  CSV Database   │
│  (registros.csv)│
└─────────────────┘

Core Components

Flask Web Application (app.py:11)
  • Handles HTTP requests and serves the web interface
  • Manages file uploads and image processing
  • Coordinates between AI services and data storage
OpenAI Integration (app.py:44-80)
  • Primary detection engine using GPT-4o-mini
  • Processes images via base64 encoding
  • Returns cleaned, alphanumeric license plate strings
Tesseract OCR Fallback (app.py:106-110)
  • Secondary detection when AI fails
  • Uses PIL (Pillow) for image preprocessing
  • Configured for English language detection
CSV Data Storage (app.py:18)
  • Simple, portable database format
  • Stores plate number, timestamp, owner info, vehicle type, observations, and image filename
  • Easy to export and analyze with standard tools

Use Cases

CoroNet is perfect for:
  • Parking Management: Track vehicles entering and exiting parking facilities
  • Security Access Control: Log vehicle registrations at gated communities or secure facilities
  • Traffic Monitoring: Record vehicle information for analysis and reporting
  • Fleet Management: Monitor company vehicle movements and usage
  • Event Management: Track attendee vehicles at events or venues

Technology Stack

Flask 3.0.3          # Web framework
OpenAI 2.6.1         # AI-powered plate detection
pytesseract 0.3.13   # OCR fallback
Pillow 12.0.0        # Image processing
python-dotenv 1.1.1  # Environment configuration

Next Steps

Ready to get started? Follow our installation guide to set up CoroNet on your system:

Installation Guide

Learn how to install Python dependencies, configure Tesseract OCR, and set up your OpenAI API key
Or jump straight into action with our quickstart tutorial:

Quickstart Tutorial

Go from zero to your first successful plate detection in under 5 minutes

Build docs developers (and LLMs) love