Discussione:
Leggere codici a barre con la webcam
(troppo vecchio per rispondere)
GbMax78
2011-04-29 16:35:20 UTC
Permalink
Salve,

cercando su Google ho trovato questo filmato:


Ho successivamente chiesto ad una software house la possibilità di
creare un lettore di codice a barre per l'utente domestico quindi
potendo utilizzare la propria webcam ma mi hanno risposto picche ovvero
che non è possibile associare la lettura del codice a barre ad un
database usando la piattaforma php+mysql per avere ad esempio la
descrizione dell'oggetto "letto".

Voi che dite ?

Saluti !
GbMax78
Leonardo Serni
2011-04-29 16:50:01 UTC
Permalink
Post by GbMax78
http://youtu.be/Sv28MUMM_EA
Ho successivamente chiesto ad una software house la possibilità di
creare un lettore di codice a barre per l'utente domestico quindi
potendo utilizzare la propria webcam ma mi hanno risposto picche ovvero
che non è possibile associare la lettura del codice a barre ad un
database usando la piattaforma php+mysql per avere ad esempio la
descrizione dell'oggetto "letto".
Voi che dite ?
E' complicato, perche' devi uploadare l'immagine sul server, e non e'
detto che tu lo possa fare facilmente.

Forse, con qualche accrocco in Flash che acceda alla webcam... allora
si'.

Leonardo
--
Enough, enough! But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!
GbMax78
2011-04-29 16:51:26 UTC
Permalink
Post by Leonardo Serni
E' complicato, perche' devi uploadare l'immagine sul server, e non e'
detto che tu lo possa fare facilmente.
Ah... quindi in teoria stando al link che ho postato bisognerebbe
caricare tutte le immagini come una sorta di jpg di tutti i codici a
barre secondo te ?
Post by Leonardo Serni
Forse, con qualche accrocco in Flash che acceda alla webcam... allora
si'.
Guardando altri filmati si cita proprio l'applicazione in Flash per
accedere alla cam tramite ad esempio una web page e si vede poi la
lettura del codice a barre, chissà se questo poi possa essere associato
ad un db...

Saluti !
GbMax78
Leonardo Serni
2011-04-30 21:10:27 UTC
Permalink
Post by GbMax78
Post by Leonardo Serni
E' complicato, perche' devi uploadare l'immagine sul server, e non e'
detto che tu lo possa fare facilmente.
Ah... quindi in teoria stando al link che ho postato bisognerebbe
caricare tutte le immagini come una sorta di jpg di tutti i codici a
barre secondo te ?
Non ho capito.

Ti dico come si potrebbe fare: un accrocco Flash accede alla Webcam, e
nella versione "gaò" si limita a uploadare tutta la JPEG su un sito.

Una versione più raffinata potrebbe estrarre una scanline dal frame, e
verificare che abbia valori di contrasto ragionevoli.

A quel punto il sito riceve l'immaginina, e decodifica il codice, dopo
di che ci puo' fare quel che vuole, per esempio rimandare al Flash una
sequenza XML con il codice stesso per fargli fare "DING!", oppure, che
so, un link alla pagina del prodotto, o cose cosi'.

Leonardo
--
Enough, enough! But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!
Andrea D'Amore
2011-04-29 17:27:08 UTC
Permalink
Post by GbMax78
potendo utilizzare la propria webcam ma mi hanno risposto picche ovvero
che non è possibile associare la lettura del codice a barre ad un
database usando la piattaforma php+mysql per avere ad esempio la
descrizione dell'oggetto "letto".
Voi che dite ?
Che il problema è nell'uso del verbo "associare".

È chiaro che puoi "associare", crei una webapp che riceve i dati e li
salvi.
Gufo Rosso
2011-04-29 20:11:16 UTC
Permalink
Post by GbMax78
Salve,
http://youtu.be/Sv28MUMM_EA
Ho successivamente chiesto ad una software house la possibilità di
creare un lettore di codice a barre per l'utente domestico quindi
potendo utilizzare la propria webcam ma mi hanno risposto picche ovvero
in java lo si puo fare
ti fai creare il plugin che legge il barcode
e poi fa un post a un normale form
Post by GbMax78
che non è possibile associare la lettura del codice a barre ad un
database usando la piattaforma php+mysql per avere ad esempio la
descrizione dell'oggetto "letto".
che e' una balla il barcode funziona in firefox
e ajax fa il resto
Post by GbMax78
Voi che dite ?
che esiste gia
vedi gazzettadellosport (usano il 2d)
Post by GbMax78
Saluti !
GbMax78
GbMax78
2011-04-29 20:19:20 UTC
Permalink
Post by Gufo Rosso
in java lo si puo fare
ti fai creare il plugin che legge il barcode
e poi fa un post a un normale form
Hai qualche link da postarmi visto che gli esempi in giro li ho visti
con flash.
Post by Gufo Rosso
che e' una balla il barcode funziona in firefox
e ajax fa il resto
Citi Firefox ma immagino funzioni anche su altri browsers vedi Explorer
o su macchine Mac...
Post by Gufo Rosso
che esiste gia
vedi gazzettadellosport (usano il 2d)
Ho cercato sul sito della gazzetta dello sport ma non ho capito dove sia
cio' che mi interessa !

Intanto ti ringrazio per la risposta ! :)

Saluti !
GbMax78
Gufo Rosso
2011-04-30 07:42:24 UTC
Permalink
Post by GbMax78
Post by Gufo Rosso
in java lo si puo fare
ti fai creare il plugin che legge il barcode
e poi fa un post a un normale form
Hai qualche link da postarmi visto che gli esempi in giro li ho visti
con flash.
Post by Gufo Rosso
che e' una balla il barcode funziona in firefox
e ajax fa il resto
Citi Firefox ma immagino funzioni anche su altri browsers vedi Explorer
o su macchine Mac...
Post by Gufo Rosso
che esiste gia
vedi gazzettadellosport (usano il 2d)
Ho cercato sul sito della gazzetta dello sport ma non ho capito dove sia
cio' che mi interessa !
lo avevao usato per una pubblicita ricordo il servizio tv
Post by GbMax78
Intanto ti ringrazio per la risposta ! :)
Saluti !
http://www.bananaffair.it/barcode-2d-lettore-generatore/
Post by GbMax78
GbMax78
GbMax78
2011-04-30 08:12:04 UTC
Permalink
Post by Gufo Rosso
http://www.bananaffair.it/barcode-2d-lettore-generatore/
Non è il classico codice a barre, questo lo sapevo anch'io che si
potesse leggere con cellulari ed affini...
Andrea D'Amore
2011-04-30 09:02:32 UTC
Permalink
Post by GbMax78
Post by Gufo Rosso
http://www.bananaffair.it/barcode-2d-lettore-generatore/
Non è il classico codice a barre, questo lo sapevo anch'io che si
potesse leggere con cellulari ed affini..
Si chiama codice QR ma è una estensione a due dimensioni del codice a
barre, se puoi fare quello figurati i codici a barre classici.

Il punto è che non si capisce cosa stai chiedendo, tranne che vuoi
"associare a php+mysql".

Secondo me la parte difficile per la software house è capire la
richiesta del cliente, probabilmente è per questo che hanno detto che
non si può fare.
GbMax78
2011-05-01 07:24:26 UTC
Permalink
Post by Andrea D'Amore
Si chiama codice QR ma è una estensione a due dimensioni del codice a
barre, se puoi fare quello figurati i codici a barre classici.
Ok questa è già un'ottima notizia ! :)
Post by Andrea D'Amore
Il punto è che non si capisce cosa stai chiedendo, tranne che vuoi
"associare a php+mysql".
La mia "predilezione" verso questo tipo di piattaforma è piu' che altro
in termini tecnici visto che mi rimarebbe comodo a livello di gestione
di un server L.A.M.P. in quanto conosco abbastanza bene i file di
configurazione/personalizzazione.
Post by Andrea D'Amore
Secondo me la parte difficile per la software house è capire la
richiesta del cliente, probabilmente è per questo che hanno detto che
non si può fare.
Si forse hai ragione, la mia richiesta è quella di poter leggere,
utilizzando principalmente una webcam (o un barcode reader per chi
l'avesse) codici a barre stampati su dei prodotti in vendita in Italia
per essere poi riconosciuti/collegati al database che tirerebbe fuori
determinate caratteristiche/descrizioni il tutto però all'interno di una
pagina web perchè una situazione del genere credo sia già ampiamente
disponibile a livello desktop che potrebbe in seconda battuta tornare
comodo sui mobile devices tipo Android, Apple etc.

La software house interpellata mi ha di recente risposto "We will not be
able to write code to recognize barcodes or read from barcode images on
the website. There are some open source software available, but only as
desktop applications."

In conclusione mi sono spiegato male io oppure quello che cerco di fare
non è possibile o altra ipotesi la software house non è riuscita a
trovare una soluzione che invece esiste ?

Saluti !
GbMax78
Strae
2011-05-01 16:59:17 UTC
Permalink
Post by GbMax78
La software house interpellata mi ha di recente risposto "We will not be
able to write code to recognize barcodes or read from barcode images on
the website. There are some open source software available, but only as
desktop applications."
In conclusione mi sono spiegato male io oppure quello che cerco di fare
non è possibile o altra ipotesi la software house non è riuscita a
trovare una soluzione che invece esiste ?
Saluti !
GbMax78
Ti hanno semplicemente detto che non sono in grado di farlo lato
server, ma ci sono varie alternative lato client.
Io la butto li: una chiamata ajax al tuo server con l'url della pagina
che contiene il codice, da php parsi la pagina, trovi il codice e lo
leggi.

Assomiglia molto a un bagno di sangue, cmq.

Il discorso è che da php non puoi accedere alla webcam, questo
dovresti averlo chiaro, php termina il suo lavoro quando la pagina è
stata caricata, dopo devi andare di tecnologie client side: js, java,
flash, etc... (html5?)
GbMax78
2011-05-02 20:17:26 UTC
Permalink
Post by Strae
Ti hanno semplicemente detto che non sono in grado di farlo lato
server, ma ci sono varie alternative lato client.
Il mio problema è proprio quello, tenersi lato server il piu' possibile
visto che intendo rivolgermi all'utente finale, semmai in un secondo
momento si potrebbe utilizzare un'applicazione tipo per Android o Apple.
Post by Strae
Io la butto li: una chiamata ajax al tuo server con l'url della pagina
che contiene il codice, da php parsi la pagina, trovi il codice e lo
leggi.
Assomiglia molto a un bagno di sangue, cmq.
Azz...
Post by Strae
Il discorso è che da php non puoi accedere alla webcam, questo
dovresti averlo chiaro, php termina il suo lavoro quando la pagina è
stata caricata, dopo devi andare di tecnologie client side: js, java,
flash, etc... (html5?)
La mia propensione verso PHP è soltanto legata ad un minimo di
dimestichezza verso il linguaggio e quanto gira sul server nulla di
piu', se dovesse esserci una best way pur non "capendola" a livello
tecnico ne trarrei comunque vantaggio finale per risolvere al meglio il
mio "problema" !

Saluti !
GbMax78
Alessandro Pellizzari
2011-05-03 08:16:25 UTC
Permalink
Post by GbMax78
La mia propensione verso PHP è soltanto legata ad un minimo di
dimestichezza verso il linguaggio e quanto gira sul server nulla di
piu', se dovesse esserci una best way pur non "capendola" a livello
tecnico ne trarrei comunque vantaggio finale per risolvere al meglio il
mio "problema" !
La best way nel tuo caso sarebbe di usare flash, fargli leggere il codice
a barre, farglielo interpretare e mandare al server solo la stringa
risultante (una quindicina di caratteri per gli EAN, fino a 4 KB per i QR-
code), che e` comunque meno scomodo di mandare una bitmap, che non puoi
comprimere in jpeg o in qualsiasi altro formato lossy, al server per
fargliela interpretare.

Bye.
GbMax78
2011-05-04 17:41:34 UTC
Permalink
Post by Alessandro Pellizzari
La best way nel tuo caso sarebbe di usare flash, fargli leggere il codice
a barre, farglielo interpretare e mandare al server solo la stringa
risultante (una quindicina di caratteri per gli EAN, fino a 4 KB per i QR-
code), che e` comunque meno scomodo di mandare una bitmap, che non puoi
comprimere in jpeg o in qualsiasi altro formato lossy, al server per
fargliela interpretare.
Ho capito la procedura però la jpeg che viene inviata al server implica
che su questo ci sia tutto un archivio di jpeg per riuscire ad avere il
confronto quindi se tanto mi da tanto dovendo per ipotesi far
riconoscere 100 prodotti lato server dovrei avere la scansione di 100
jpeg di codici a barre o sbaglio ?

Saluti !
GbMax78
Andrea D'Amore
2011-05-04 18:05:09 UTC
Permalink
Post by GbMax78
Ho capito la procedura però la jpeg che viene inviata al server implica
che su questo ci sia tutto un archivio di jpeg per riuscire ad avere il
confronto quindi se tanto mi da tanto dovendo per ipotesi far
riconoscere 100 prodotti lato server dovrei avere la scansione di 100
jpeg di codici a barre o sbaglio ?
Ti ha detto esplicitamente che _non_ puoi usare jpeg perché è un formato
lossy, cioè a perdita di informazione, e ha suggerito di far leggere il
codice dal client e di usare il server per fornire le informazioni
relative a quel codice che sarà da pochi byte fino a 4kB.

Se vuoi gestire cento prodotti ovviamente dovrai inserire tutti cento
codici sul server, sono gli identificativi dei prodotti.
Alessandro Pellizzari
2011-05-05 08:52:28 UTC
Permalink
Post by GbMax78
Ho capito la procedura però la jpeg che viene inviata al server implica
che su questo ci sia tutto un archivio di jpeg per riuscire ad avere il
confronto
No. Non devi fare il confronto. Devi usare una libreria che decodifica i
codici a barre. Pensa a quante png dovresti avere per un banale EAN-13 a
13 cifre, altrimenti...

Bye.

Antonio Russo
2011-05-01 18:21:22 UTC
Permalink
Provo a darti qualche input, anche se devo premetterti che non ho la
soluzione definitiva...

1. carichi una pagina di avvio nel browser contenente "qualcosa" scritto
in Flash/AS oppure in Java.
2. questo "qualcosa" accede alla webcam in locale e controlla, ad un
certo frame-rate (tipo 6fps), quello che gli arriva in input della webcam.
3. Se riconosce nel fotogramma qualcosa che somiglia ad un codice a
barre tenta di interpretarlo e se l'operazione va a buon fine allora
effettua una chiamata asincrona al server.
4. Sul server una combinazione di PHP+MySQL (o quello che vuoi, questo
mi pare di capire sia il problema minore) restituisce l'articolo
richiesto, se presente nel database.
5. Il "qualcosa" nel browser intanto si accorge che il server gli ha
risposto e provvede a chiudere il flusso dati proveniente dalla webcam e
ad aggiornare il contenuto della pagina.

Ecco, il tuo problema è il "qualcosa" di cui sopra. A me viene in mente
una sola cosa per realizzare qualcosa di simile: ARToolKit. La versione
base è scritta in C, ma ne esistono porting un pò per tutti i linguaggi,
Flash incluso. Credo però che sia come sparare ad una mosca con
l'artiglieria pesante: questa roba si usa per la realtà aumentata, il
pattern recognition, per implementare le gestures e per altre cose fighe.

Ti posto un paio di video per farti capire di cosa stiamo parlando:



Questa è la pagina del porting per Flash:
http://www.libspark.org/wiki/saqoosha/FLARToolKit/en

Spero il tuo giapponese sia buono...

Ho visto dei progettini funzionanti dal vivo qualche tempo fa, ma il
poco tempo libero (ahimè) mi ha impedito di smanettarci di persona..

Spero di esserti stato utile.

- Antonio
Jeff
2011-05-02 15:56:58 UTC
Permalink
Post by Antonio Russo
Provo a darti qualche input, anche se devo premetterti che non ho la
soluzione definitiva...
http://youtu.be/4XZC76lQ2hc
http://youtu.be/b0khQEv7v9s
WOW!
Post by Antonio Russo
- Antonio
GbMax78
2011-05-02 20:07:13 UTC
Permalink
Post by Antonio Russo
http://youtu.be/4XZC76lQ2hc
http://youtu.be/b0khQEv7v9s
WOW!
Non ho nemmeno io mai visto qualcosa di simile, intanto mi guardo anche
gli altri video !

GbMax78
Jeff
2011-05-02 15:57:46 UTC
Permalink
Post by Antonio Russo
questa roba si usa per la realtà aumentata,
a me il concetto di realtà aumentata sfugge, ovvero come fa la realtà ad
essere aumentata?

J.
Antonio Russo
2011-05-02 16:15:22 UTC
Permalink
Post by Jeff
a me il concetto di realtà aumentata sfugge, ovvero come fa la realtà ad
essere aumentata?
Beh, per realtà aumentata si intende l'aggiunta di elementi virtuali
(cioè generati da una macchina) al mondo reale. E' ovvio che questo non
può avvenire direttamente, visto che non abbiamo una connessione alla
realtà alternativa ai cinque sensi (tipo in Matrix). Per ora bisogna
accontentarsi delle interfacce aptiche che abbiamo (schermi, caschetti,
guanti, exascheletri).
In questo senso non si "aumenta" la realtà in sé, ma si aumenta la
"percezione" della realtà indossando (per ora si intende in senso
letterale!) delle opportune interfacce.
Antonio Russo
2011-05-02 16:22:00 UTC
Permalink
PS: i due video che ho postato non sono forse un piccolo esempio di
realtà aumentata? Alcune cose che vedi in quei video nella realtà non
esistono... ;-)

PPS: quello che distingue la realtà aumentata dagli effetti speciali
classici è che il tutto deve avvenire in real-time (o con bassissime
latenze), altrimenti non vale!
Jeff
2011-05-03 08:15:15 UTC
Permalink
Post by Antonio Russo
Post by Jeff
a me il concetto di realtà aumentata sfugge, ovvero come fa la realtà ad
essere aumentata?
Beh, per realtà aumentata si intende l'aggiunta di elementi virtuali
(cioè generati da una macchina) al mondo reale.
[..cut..]
Post by Antonio Russo
In questo senso non si "aumenta" la realtà in sé, ma si aumenta la
"percezione" della realtà indossando (per ora si intende in senso
letterale!) delle opportune interfacce.
Non esiste differenza tra la realtà in se e la percezione della realtà,
perchè la nostra realtà è sempre la percezione che noi abbiamo di essa.
Tornando ai video, quello che crea i bambocci, una volta che sono stati
creati essi esistono, ma è come quando una fabbrica crea un giocattolo,
anche in questo caso prima non c'era poi c'è, è sempre un caso di realtà
aumentata?

J.
GbMax78
2011-05-02 20:34:50 UTC
Permalink
Post by Antonio Russo
2. questo "qualcosa" accede alla webcam in locale e controlla, ad un
certo frame-rate (tipo 6fps), quello che gli arriva in input della webcam.
[CUT]
Post by Antonio Russo
Ecco, il tuo problema è il "qualcosa" di cui sopra. A me viene in mente
una sola cosa per realizzare qualcosa di simile: ARToolKit. La versione
base è scritta in C, ma ne esistono porting un pò per tutti i linguaggi,
Flash incluso. Credo però che sia come sparare ad una mosca con
l'artiglieria pesante: questa roba si usa per la realtà aumentata, il
pattern recognition, per implementare le gestures e per altre cose fighe.
Come già scritto nell'altro post ARToolkit è strepitoso però il problema
è che per trovar qualche programmatore in grado di tirar su qualcosa di
simile per leggere un codice a barre sarà impresa molto ardua oltre che
avere un costo probabilmente molto elevato...
Post by Antonio Russo
Spero di esserti stato utile.
Mi hai dato ottime dritte il brutto, come già scritto sopra, sarà
trovare qualcuno in grado di mettere insieme tutti guesti elementi ! :)

Saluti !
GbMax78
Loading...