/ / zxing restituisce la posizione errata di CODE_39-Barcode - zxing

zxing restituisce la posizione errata di CODE_39-Barcode - zxing

Sto usando zXing per trovare i codici a barre nelle immagini della webcam:

http://s21.postimg.org/vxdrx07av/zxing.png

zxing trova il codice a barre affidabile ed estrae l'informazione. Restituisce inoltre la posizione del codice a barre come due punti (x1, y) (x2, y) (lo stesso valore per entrambi i punti poiché utilizza scanlines (penso)).

Se tracciai questi punti, il valore y è ok, il primo valore (a sinistra) x è leggermente a destra nelle immagini moste e il punto finale destro è lontano. (Vedi l'immagine di esempio).

Pianifico qualche postelaborazione, quindi ho bisogno delposizione del codice a barre. Qualcuno ha mai visto questo comportamento prima? Non vedo come un errore durante il rendering potrebbe causare questo e i punti vengono estratti come nell'applicazione demo della riga di comando.

// Ho appena provato a leggere un EAN_13 e ho ottenuto la perfetta posizione del codice a barre. Il codice nell'immagine è CODE_39 quindi potrebbe esserci un problema con questo rilevatore.

// Modifica 2: (L'immagine originale e una con un pennarello sono nel commento)

Io uso il wrapper Qt ed estrai gli endpoint come (qzxing.cpp l. 140ff)

    res = ((MultiFormatReader*)decoder)->decode(ref, hints);

if (pts){
pts->clear();
for (int j = 0; j < res->getResultPoints()->size(); j++) {
cout << "  Point[" << j <<  "]: "
<< res->getResultPoints()[j]->getX() << " "
<< res->getResultPoints()[j]->getY() << endl;
pts->push_back(QPointF(res->getResultPoints()[j]->getX(),res->getResultPoints()[j]->getY()));
}
}

Se estraggo un EAN14-Barcode, gli endpoint sono esattamente all'interno degli endmarkers (le due piccole barre) quindi penso di aver letto e visualizzato correttamente i punti.

risposte:

0 per risposta № 1

Bello, questo è un bug, è stato risolto in HEAD ora. La risposta è che è un bug: https://code.google.com/p/zxing/issues/detail?id=1776