Come creare un lettore di targhe con bot su Raspberry

Nell’articolo di oggi vedremo come realizzare con Raspberry Pi un sistema automatizzato in grado di leggere le targhe delle auto ogni tot secondi (se presenti) e in tal caso inviare una foto della targa con sotto un messaggio di testo contente le lettere e numeri che compongono la targa.

In questo articolo impareremo a riconoscere e leggere il numero di targa delle automobili utilizzando Raspberry Pi e OpenCV . Per riconoscere la targa utilizzeremo OpenCV Contour Detection con la combinazione di Tesseract OCR.

Componenti:

Applicazioni:

  • automatizzare i caselli
  • scoprire trasgressori
  • sistemi di sicurezza automatizzati
  • apertura cancelli

Se non hai mai utilizzato prima d’ora la Raspberry Pi Camera dovrai configurala. Per avere maggiori info riguarda la prima configurazione ti invito a leggere il mio articolo: Come installare e configurare la Raspberry Pi Camera

Dobbiamo installare poi varie librerie tra cui:

  • open cv
  • telepot
  • Tesseract 
  • imutils 

Ci sono tre passaggi logici fondamentali

  • Rilevamento targa
  • Segmentazione dei caratteri una volta rilevata la targa
  • Riconoscimento dei caratteri con OCR

Installazioni librerie

Aggiorniamo il Raspberry digitando il seguente comando nel terminale:

Usa i seguenti comandi per installare le dipendenze necessarie per l’installazione di OpenCV sul tuo Raspberry Pi.

Successivamente, usa il comando seguente per installare OpenCV sul tuo Raspberry Pi.

Per installare Tesseract OCR (Optical Character Recognition) utilizzando l’opzione apt:

installa pytesseract con il comando:

imutils viene utilizzato per semplificare le funzioni di elaborazione delle immagini essenziali come traduzione, rotazione, ridimensionamento e visualizzazione di immagini Matplotlib con OpenCV. Utilizzare il comando seguente per installare imutils:

 

Configurazione bot telegram

Il primo passo consiste nell’aprire l’applicazione telegram. Una volta aperta cerchiamo “BotFather” tramite la funzione cerca cliccando sull’apposita lente di ingrandimento.

“BotFather” è un bot che permette di creare altri bot.

Avviamo il bot scrivendo “/start“, poi premiamo invio.

raspberry

Per creare un nuovo bot digitiamo “/newbot”.

BotFather ci chiederà di assegnare un nome al nostro nuovo Bot, basta digitare un qualsiasi nome e poi premere Invio.

Dobbiamo anche inserire un username che lo renderà riconoscibile pubblicamente. Username deve terminare in “Bot” o ” _bot”.

In seguito alla assegnazione del nome e dell’username BotFather ci comunicherà informazioni importanti in seguito per compilare il codice per il funzionamento della camera e dell’invio dati. ATTENZIONE: QUESTE INFOMAZIONI LE DOVREMMO TENERE SOLO PER NOI. La prima parte riguarda il percorso per trovare il nostro bot. La seconda è la API che sarà utilizzato nel nostro codice.

raspberry

Per l’implementazione del bot occorre una specifica libreria. Per installare questa libreria basta eseguire il comando (prima usciamo dalle eventuali directory digitando cd).

pip install telepot

CODICE

Crea la cartella chiamata “timelapse” su desktop, cosi potrai copiare e incollare il codice

Lo puoi scaricare da questo link oppure vedere qui in basso

Esegui il codice, vai sul bot e scrivi /start, e mettiamo una bella targa davanti alla cam.

Ecco qui il video:

I risultati di questo metodo non saranno accurati La precisione dipende dalla chiarezza dell’immagine, dall’orientamento, dall’esposizione alla luce e così via.

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.