0

Zxing core.jar を使用してバーコードと QR コードをスキャンしていますが、完全に機能していますが、Robolectric を使用してテストを作成し、エミュレーターやデバイスを使用せずに自動テストを実行したいと考えています。問題は、何らかの理由で zxing が .jpg ファイルからどのタイプのコード形式も検出していないことです。画像に制限サイズがあるかどうか、または他に不足しているものがあるかどうかはわかりません。検出を行うコードはこれで、jpg に変換されたフレーム プレビューで正常に動作します。

        BinaryBitmap bitmap = getBitmapFromImageData(input);
        Collection<BarcodeFormat> decodeFormats = getDecodeFormats();
        Map<DecodeHintType, Object> hints = getHints(decodeFormats);
        MultiFormatReader multiFormatReader = getMultiFormatReader(hints);

        Result rawResult;
        try {
            rawResult = multiFormatReader.decodeWithState(bitmap);
        } catch (NotFoundException e) {
            // not really an error, just QR code not found
            Log.e(LOG_TAG, "Code Detection not found exception.");
            return null;
        }

入力には jpg 形式のバイト配列が含まれ、getBitmapFromImageData によって Zxings 内部形式に変換されます。私が言ったように、ライブラリはデバイスで正常に動作していますが、PC からこのコードを実行しても機能しない論理的な理由が見つかりません。

4

1 に答える 1

0

画像の読み取り方法など、キーコードは表示されません。正しく読み取られているか、コードによって正しくバイナリ化されているかなどを確認する必要があります。プロジェクトの単体テストを見て、デスクトップで正しく読み取って処理し、画像を表示する方法を確認してください。異なる「get」メソッドでコードが何をしているのかわかりません。

于 2013-01-24T06:46:25.987 に答える