/ / zxingはCODE_39の誤った位置を返します - バーコード - zxing

zxingはCODE_39の誤った位置を返します - Barcode - zxing

私はzXingを使ってウェブカメラ画像のバーコードを見つけました:

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

zxingはバーコードを信頼できると判断し、情報を抽出します。また、バーコードの位置を2点(x1、y)(x2、y)として返します(スキャンラインを使用しているので、両方の点で同じ値です)。

私がこれらの点をプロットすると、y値は大丈夫です。最初の(左の)x値はMoste画像で少し右で、右端の点は遠いです。 (例のイメージを参照)。

後処理を計画しているので、バーコードの位置。誰もこの行動を以前に見たことがありますか?私はレンダリング中に間違ってこのことが起こる可能性があり、コマンドラインデモアプリケーションのようにポイントが抽出されるのを見ていません。

// 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-Barcodeを抽出すると、エンドポイントはエンドマーカー(2つの小さなバー)に正確に収まるため、ポイントを正しく読み取って視覚化することができます。

回答:

回答№1は0

いいです、それはバグです。今はHEADで修正されています。答えはそれがバグだということです: https://code.google.com/p/zxing/issues/detail?id=1776