Aiuto sviluppo OCR per palline bingo

di il
41 risposte

Aiuto sviluppo OCR per palline bingo

Buongiorno a tutti, premetto che mi sono sempre occupato di BASIC, JAVASCRIPT, PHP, e sono alle prime armi con C.
Sto sviluppando un software bingo che dovrebbe anche leggere le sfere acquisite da immagine JPEG (o periferica di acquisizione), ma di OCR non sono molto pratico e girovagando in rete ho scoperto il progetto di un ragazzo proveniente dalla Russia molto interessante, ma apparentemente sembra un progetto scritto in Assembly, ma acquisendo qualche informazione in rete ho scoperto che è possibile anche creare un algoritmo in C che sia in grado di restituire il valore numerico in stringa dall'immagine indicata.

Il progetto è qui ma è davvero generico per quanto concerne lo sviluppo di questo sistema:
https://hackaday.io/project/5649-ocr-for-bingo-balls/details

che per tale progetto è essenziale che:
1) il software capti il numero migliore presente sulla palla.
2) provveda quindi a ruotare e raddrizzare il numero acquisito (identificando la linea intera sotto al numero).
3) esegua la ricognizione e restituisca il valore numero acquisito.

le palline con all'interno il testo sono di questo tipo:

pallabingo.jpg
pallabingo.jpg

qualcuno conosce questo argomento un po "complesso" (forse per me ) ?

GRAZIE A TUTTI

41 Risposte

  • Re: Aiuto sviluppo OCR per palline bingo

    Quel codice è fato per il microcontrollore PIC24EP512GP806 e non per PC.

    Del resto la tua richiesta è troppo generica, non si sa come stai sviluppando questo software di cui parli (se per PC e con quale linguaggio o per schede hardware specifiche), né come acquisisci le immagini (telecamera?).

    Insomma è un po' difficile darti consigli.
  • Re: Aiuto sviluppo OCR per palline bingo

    Grazie per la risposta,
    Effettivamente ho tralasciato questi dettagli, chiedo venia.

    Questo progetto (pescato in rete) gira su microcontrollore, ma dato che non ho mai avuto a che fare con programmazione su chip e credo sia impossibile trovare il codice contenuto nel PIC24EP512GP806, la mia intenzione è quella di creare appunto un software su macchina PC con telecamera collegata USB.
    Quindi senza ulteriori schede Hardware (telecamera USB necessaria ovviamente), pensavo inoltre di poter effettuare l'operazione di OCR acquisendo prima la foto dalla telecamera (contenente la pallina pescata) e poi richiamare la funzione di OCR indicando il file acquisito dalla telecamera.

    Forse è più semplice ma meno attendibile un algoritmo C piuttosto che per microcontrollore ?
  • Re: Aiuto sviluppo OCR per palline bingo

    Il problema non è il linguaggio (anche con il microcontrollore si scrivono codici in C).

    Per capire meglio, la telecamera cosa inquadra? L'immagine che hai mostrato non viene da telecamera, sembra piuttosto un gioco online.
  • Re: Aiuto sviluppo OCR per palline bingo

    Non sapevo che fosse utilizzato il C per i microcontrollori, la telecamera inquadra la pallina pescata da un sistema auto sviluppato (l'immagine da me postata è pescata dalla telecamera e il colore l'ho aggiunto io con paint)...una vera foto acquisita dalla telecamera è questa:

    palla.png
    palla.png

  • Re: Aiuto sviluppo OCR per palline bingo

    Mi sembra un progetto un pochino ambizioso
  • Re: Aiuto sviluppo OCR per palline bingo

    Tutto è difficile ma nulla è impossibile, fino a che non si prova l'ignoto non si può trovare una novità.
    Sono qui per imparare come tutti qualcosa di nuovo
  • Re: Aiuto sviluppo OCR per palline bingo

  • Re: Aiuto sviluppo OCR per palline bingo

    Ho visto in rete che una nota azienda fornisce questo software ma è su licenza e non ho idea minimamente di quanto possa costare..(e ho paura di saperlo sinceramente ), quindi stavo cercando una soluzione più blanda e meno costosa..

    anche per microntrollore?
    ero convinto che fosse un semplice algoritmo ma non un sfilza di stringhe
  • Re: Aiuto sviluppo OCR per palline bingo

    È un "algoritmo della mad..nna", in termini non molto scientifici ma comprensibili
  • Re: Aiuto sviluppo OCR per palline bingo

  • Re: Aiuto sviluppo OCR per palline bingo

    C'è una libreria chamata opencv, ma non so se fa il caso tuo.
    Dovresti cercare testi di computer vision. Un modo per riconoscere le immagini è sfruttare la riduzione di esse mediante analisi delle componenti principali (PCA), per poi fare confronti più rapidi con vettori ricavati da immagini note. In rete si trova diverso materiale in merito a questa tecnica. In ogni caso avresti bisogno di librerie C per operare sulle matrici, in quanto ti servirà calcolare gli autovettori. Per questo ci sono librerie come Lapack o GSL.
    Altrimenti dovresti appoggiarti su altri linguaggi che sono in grado di lavorare nativamente o con pacchetti facilmente reperibili su questo tipi di dati (le matrici).
    Potresti appoggiarti su programmi come Matlab o le alternative open source Scilab e Octave (forse quest'ultimo è più adatto in quanto scritto il C, quindi le sue librerie saranno più facilmente esportabili).

    Oppure usare il linguaggio R, appositamente progettato per lavorare sui dati e di cui sono reperibili pacchetti che implementino la PCA, ma non so come farlo interagire con il C.
  • Re: Aiuto sviluppo OCR per palline bingo

    1)"non sapevo che i controllori fossero scritti in C" ----> voglio comunque cimentarmi in un progetto simile.
    2) Molto probabilemnte quel PIC di cui parli comunica con qualcos'altro ( telecamera+ qualche chip) molto più sofisticato di un semplice PIC.
    3) immagino ti servano anche dritte su come fare comunicare i due
    4) lascia stare

    Io comunque farei così: telecamera, passo in stream la sua immagine ad un MICROPROCESSORE, sul quale ho installate un SISTEMA OPERATIVO, sul quale farei girare uno script in PYTHON. Se credi che questo sia difficile, non hai idea di quanto sia molto più complicato adoperando la prima via.
  • Re: Aiuto sviluppo OCR per palline bingo

    Voto la (4)
  • Re: Aiuto sviluppo OCR per palline bingo

    Anche il mio voto per la (4)
Devi accedere o registrarti per scrivere nel forum
41 risposte