com.google.zxing.NotFoundException-Ausnahme kommt, wenn Core-Java-Programm ausgeführt wird?

8

Ich habe eine JPEG-Datei mit 2D-Barcode. Bildauflösung ist 1593X1212. Ich benutze Xing-Bibliothek, um diesen Barcode aus dem Bild zu entschlüsseln. Ich habe folgenden Code im Netz.

%Vor%

}

Wenn ich dieses einfache Kern-Java-Programm ausgeführt habe, bekam ich eine Ausnahme

%Vor%

Es gibt nicht einmal Stackstraces.

Ich möchte die Experten fragen, warum so eine Ausnahme kommt. Danke dir!

    
Param-Ganak 14.05.2012, 12:45
quelle

7 Antworten

7

Ich hatte das gleiche Problem. Ich habe ein Bild verwendet, von dem ich wusste, dass es einen gültigen QR-Code hat, und ich habe auch die com.google.zxing.NotFoundException.

Das Problem besteht darin, dass das Bild, das Sie als Quelle verwenden, zu groß ist, damit die Bibliothek es dekodieren kann. Nachdem ich die Größe meines Bildes reduziert hatte, arbeitete der QR-Code-Decoder.

Für den Zweck meiner Anwendung würde der QR-Code auf dem Bild immer mehr oder weniger im selben Bereich liegen, also habe ich die getSubimage-Funktion der BufferedImage-Klasse verwendet, um den QR-Code zu isolieren.

%Vor%     
Stephan Bouwer 18.02.2013 12:04
quelle
3

Diese Ausnahme wird ausgelöst, wenn kein Barcode im Bild gefunden wird:

Ссылка

    
Colin D 14.05.2012 12:55
quelle
3

Ich hatte das gleiche Problem. Als ich fast genau den gleichen Code auf den Java SE-Bibliotheken lief, funktionierte es. Wenn ich den Android-Code mit dem gleichen Bild benutze, funktionierte es nicht. Verbringe viele Stunden damit, es herauszufinden ...

  1. Problem: Sie müssen das Bild verkleinern, um kleiner zu sein. Sie können ein Smartphone-Bild nicht direkt verwenden. Es ist zu groß. In meinem Test funktionierte es mit einem Bild von etwa 200 KB.

Sie können eine Bitmap mit

skalieren

Bitmap resize = Bitmap.createScaledBitmap(srcBitmap, dstWidth,dstHeight,false);

  1. Problem: Sie müssen einige Flaggen einschalten. Um mit fast allen Flaggen herumzulaufen, hat diese Lösung für mich funktioniert:

    %Vor%

    ...

    %Vor%
  2. Problem: Die Android-Bibliothek von ZXing führt den Barcode-Scan einmal aus, vorausgesetzt, der Barcode auf dem Bild hat bereits die richtige Ausrichtung. Wenn dies nicht der Fall ist, müssen Sie es vier Mal ausführen, jedes Mal drehen Sie das Bild um 90 Grad!

Für die Rotation können Sie diese Methode verwenden. Winkel ist der Winkel in Grad.

%Vor%     
techgeek89 08.05.2015 17:17
quelle
2

Es ist normal; Es bedeutet nur, dass kein Barcode gefunden wurde. Sie haben das Bild nicht angegeben, daher kann ich nicht sagen, ob Ihr Bild überhaupt lesbar ist, geschweige denn ein unterstütztes Barcodeformat.

    
Sean Owen 14.05.2012 13:59
quelle
0
%Vor%     
kamini 27.12.2013 10:24
quelle
0

Ich hatte das gleiche Problem, ich rief einen readQRCode (filePath, charset, hintMap); und bekam die gleiche Nachricht. Ich rief eine Bibliothek an, die ich mit den zxing-Bibliotheken geschrieben hatte. Um das Problem zu beheben, fügen Sie einfach die (zxing) jars zu Ihrem Code auf oberster Ebene hinzu, auch wenn dort nicht auf die Bibliotheken zugegriffen wird.

    
user3680404 27.05.2014 15:15
quelle
0

Schon dieser Code, wenn Sie verwenden,

%Vor%

Um Änderungen an diesem Code vorzunehmen. es arbeitet konform,

%Vor%     
Dharma Raj 02.09.2016 05:32
quelle

Tags und Links