Overview
This quickstart guide will walk you through:- Starting the CoroNet application
- Uploading your first license plate image
- Viewing the AI-detected results
- Managing and exporting records
Start the Application
Activate Virtual Environment
First, navigate to your project directory and activate the Python virtual environment:
Run the Flask Server
Start the application with Python:You should see output similar to:
The application runs in debug mode by default (
app.py:159), which enables hot-reloading and detailed error messages.Detect Your First License Plate
Now let’s process an image and see CoroNet’s AI detection in action:Prepare a Test Image
You’ll need an image containing a visible vehicle license plate. You can:
- Use your phone to take a photo of a parked car
- Download a sample license plate image from the internet
- Use a stock photo with a clear vehicle plate
Upload the Image
On the main page:
- Click the “Selecciona una imagen de matrícula” button
- Choose your license plate image from your file system
- You’ll see a preview of the uploaded image
templates/index.html:38-45:Add Optional Metadata
Optionally, fill in additional information:
- Propietario (Owner): Name of the vehicle owner
- Tipo de vehículo (Vehicle Type): e.g., “Car”, “Truck”, “Motorcycle”
- Observación (Observation): Color, condition, or any notes
Only the image is required. All other fields are optional and help with record-keeping.
Submit and Detect
Click the “Guardar Matrícula” button to process the image.Behind the scenes (
app.py:86-128), CoroNet:- Saves the uploaded image to
uploads/directory - Encodes the image to base64 format
- Sends it to OpenAI’s GPT-4o-mini model with the prompt:
“Extrae únicamente el texto de la matrícula visible en esta imagen (placa de vehículo). Devuelve solo la matrícula, sin texto adicional, comentarios ni símbolos extras.”
- If AI detection fails, falls back to Tesseract OCR
- Cleans and formats the detected text (alphanumeric only, max 10 chars)
- Saves the record to
data/registros.csv
View and Manage Records
Browse Your Records
The records page displays a table with all detected plates (
templates/registros.html:30-65):| Column | Description |
|---|---|
| ID | Unique record identifier |
| Imagen | Thumbnail of uploaded image |
| Matrícula | Detected license plate text |
| Propietario | Vehicle owner name |
| Tipo | Vehicle type |
| Obs. | Additional observations |
| Actions | Delete button (trash icon) |
Export Records
To export all records as CSV:CSV Format:
- Click the “Descargar CSV” button at the bottom of the records page
- The file
registros.csvwill download to your browser
app.py:154-156:Understanding the Detection Process
Here’s what happens when you upload an image:Primary Detection: OpenAI GPT-4o-mini
The AI detection function (app.py:44-80) uses vision capabilities:
The function returns only alphanumeric characters and hyphens, limited to 10 characters maximum, which matches typical license plate formats.
Fallback Detection: Tesseract OCR
When AI detection fails, Tesseract OCR takes over (app.py:106-110):
Common Issues and Solutions
Plate shows as 'NO_DETECTADA'
Plate shows as 'NO_DETECTADA'
Possible causes:
- Poor image quality or lighting
- Plate is too small or partially obscured
- Unusual plate format or characters
- Use a higher resolution image
- Ensure good lighting and contrast
- Try cropping the image to focus on the plate
- Check that the plate text is clearly readable by eye
Wrong characters detected
Wrong characters detected
Common issues:
- Similar-looking characters confused (O/0, I/1, S/5)
- Dirt or damage on plate affecting readability
- Clean the plate before photographing
- Take photo from directly in front (not at angle)
- Manually correct the detected text in the CSV if needed
Upload fails or times out
Upload fails or times out
Possible causes:
- Very large image file
- Slow internet connection to OpenAI API
- OpenAI API rate limits
- Resize images to under 5MB before uploading
- Check your internet connection
- Verify your OpenAI API key has available credits
- Wait a moment and try again (Tesseract fallback will still work)
Next Steps
Congratulations! You’ve successfully:- ✅ Started the CoroNet application
- ✅ Uploaded and processed a license plate image
- ✅ Viewed and managed records
- ✅ Exported data to CSV
Core Features
Deep dive into detection algorithms and optimization
Configuration
Customize CoroNet for your specific use case
User Guide
Best practices for image capture and processing
API Reference
Technical documentation for developers
