/ / zxing devuelve la posición incorrecta de CODE_39-Barcode - zxing

zxing devuelve la posición incorrecta de CODE_39-Código de barras - zxing

Estoy usando zXing para encontrar códigos de barras en imágenes de webcam:

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

zxing encuentra el código de barras confiable y extrae la información. También devuelve la posición del código de barras como dos puntos (x1, y) (x2, y) (el mismo valor para ambos puntos ya que utiliza líneas de exploración (creo)).

Si grafico estos puntos, el valor de y está bien, el primer valor de x (a la izquierda) es un poco más a la derecha en las imágenes más y el punto final derecho está lejos. (Ver imagen de ejemplo).

Planeo algún postprocesamiento, entonces necesito elposición del código de barras. ¿Alguien ha visto este comportamiento antes? No veo cómo un error durante la representación podría causar esto y los puntos se extraen como en la aplicación de demostración de línea de comandos.

// Traté de leer un EAN 13 y obtuve la ubicación perfecta del código de barras. El código en la imagen es CODE_39 por lo que podría haber un problema con este detector.

// Edit 2: (Imagen original y una con marcador están en el comentario)

Uso el contenedor Qt y extraigo los puntos finales como (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()));
}
}

Si extraigo un EAN14-Barcode, los puntos finales están exactamente dentro de los endmarkers (las dos barras pequeñas), así que creo que leo y visualizo los puntos correctamente.

Respuestas

0 para la respuesta № 1

Bueno, eso es un error. Está siendo corregido en HEAD ahora. La respuesta es que es un error: https://code.google.com/p/zxing/issues/detail?id=1776