/ / zxing повертає неправильну позицію CODE_39-Barcode - zxing

zxing повертає неправильну позицію CODE_39-Barcode - zxing

Я використовую zXing, щоб знайти штрих-коди в зображеннях веб-камери:

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

zxing знаходить надійний штрих-код і витягує інформацію. Він також повертає позицію штрих-коду як дві точки (x1, y) (x2, y) (таке ж значення для обох точок, оскільки воно використовує scanlines (я думаю)).

Якщо я складаю ці пункти, то значення у є в порядку, перше (ліворуч) x-значення трохи впливає на найпопулярніші зображення, а правильна кінцева точка далека. (Див. Приклади зображення).

Я планую деяку постобробку, тому мені потрібнопозиція штрих-коду. Хто раніше бачив таку поведінку? Я не бачу, як це може призвести до помилки при рендерингу, і точки видобутку, як в демо-версії командного рядка.

// Я просто намагався прочитати EAN_13 і отримав ідеальне розташування штрих-кодів. Код на зображенні - CODE_39, тому з цим детектором може виникнути проблема.

// Редагувати 2: (Оригінальне зображення та один з маркером в коментарях)

Я використовую обгортку Qt та витягу кінцевих точок як (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()));
}
}

Якщо я витягую EAN14-штрих-код, кінцеві точки точно знаходяться в межах кінцевих маркерів (два маленьких бари), тому я думаю, що я правильно читаю і візуалізую точки.

Відповіді:

0 для відповіді № 1

Красиво, це помилка. Це вже фіксується в HEAD. Відповідь - це помилка: https://code.google.com/p/zxing/issues/detail?id=1776