2011-01-10 8 views
5

Volevo implementare il codice a barre per uno dei miei requisiti di progetto mobile. La quantità di dati da memorizzare è molto piccola (< 25 alfanumerici). Voglio sapere se è più saggio implementare un codice a barre 1d o un codice a barre 2d (codice Qr in particolare) per questo progetto. Sarei davvero contento se qualcuno potesse educare sui seguenti aspetti da un 1d vs 2d prospettiva:Barcode 2d vs codice a barre 1d - velocità, precisione, dimensione

  1. velocità di scansione
  2. dimensioni (dimensione minima del display che è necessario, per la macchina fotografica mobile di riconoscere - questo è più crucual)
  3. precisione

Considerato da una lavorazione tipica prospettiva SDK (ZXing preferibilmente).

+0

non so molto sui codici a barre, ma direi che se 1d è sufficiente per archiviare i dati necessari, è necessario attenersi a 1d –

risposta

8

Vorrei andare con un codice QR, in particolare se hai intenzione di utilizzare una fotocamera del telefono. I codici qr hanno caratteristiche (finder) che rendono le cose come la correzione della prospettiva più facile/più affidabile. Hanno anche ECC che consente di eliminare i falsi positivi e correggere varie quantità di errori di rilevamento bit. Se guardi la suite di test di zxing, troverai un numero di casi 1D falsi positivi poiché molti codici 1D non hanno nemmeno un checksum.

La velocità probabilmente non rappresenta un problema per entrambi i casi se si sa cosa si sta cercando di scansionare. Il più grande costo computazionale in zxing sta attraversando tutti i possibili codici quando non sai cosa stai cercando. Se conosci il tipo di codice, non è probabile che sia significativamente diverso.

L'unica cosa che riguarda la dimensione è il numero di pixel che devono essere catturati. In altre parole, è possibile leggere un piccolo codice se si tiene la fotocamera vicina al codice. Un grande codice può essere letto da più lontano. Tutto ciò è soggetto a condizioni di luce, messa a fuoco della fotocamera (o mancanza di) e regolazione della luminosità della fotocamera. Non riesco a vedere come uno qualsiasi di questi avrebbe un impatto 1D vs 2D però.

+0

altamente appreaciate a 'smparkes' - grazie. Questo praticamente risponde a tutte le mie preoccupazioni. Non vedremo l'ora di utilizzare zxing e, come hai detto, se posso configurare il tipo di codice da cercare in anticipo, non mi morderà neanche sui costi computazionali, quindi sono bravo lì. – Ady

+2

@Ady, Se questa risposta di smparkes ha risposto alla tua domanda, dovresti accettarla come risposta accettata, assegnando così la reputazione dove è meritata. –

+0

ben spiegato. Sono stato preoccupato per la velocità poiché implementerò una soluzione di ticketing che deve essere veloce. contento che tu abbia aggiunto le informazioni sulla conoscenza del tipo di codice che sta cercando di scansionare! zxing è abbastanza rapidamente acutally e lo userò nella mia app. – frostymarvelous