2016-09-20 2 views
0

Ich versuche festzustellen, ob Googles Mobile-Vision-API zum Lesen von Barcodes mir erlauben wird, meine Anforderungen zu erfüllen.Android Mobile-Vision So verbessern Sie die Genauigkeit bei der Auswahl von mehreren

Das Problem, mit dem ich derzeit konfrontiert bin, ist, dass ich einen bestimmten Barcode habe, der gescannt werden muss. Der Barcode wird neben anderen Barcodes ausgedruckt. Die API ist die Erfassung der 3-Barcodes, wie Sie im Bild unten sehen können: enter image description here

Das Problem ist, dass, wenn ich versuche, die Mitte Barcode zu wählen, entweder die obere oder untere Barcode-Daten an die onActivityResult von der Probe zurückgeführt wird App Bis jetzt habe ich versucht, die setRequestedFps auf 60 zu erhöhen. Das erkennt Barcodes nur schneller.

Meine Frage ist, weiß jemand, wie man die Genauigkeit verbessert, wenn der Benutzer aus einer Gruppe von Barcodes als das Bild auswählt, das ich vorgestellt habe?

Jede Hilfe wird sehr geschätzt.

Antwort

1

Es sieht so aus, als ob Sie über die Beispiel-App sprechen, deren Quelle Sie hier finden. Beachten Sie die TODO auf Leitung 335 (in onTap) - leider die Probe Code gibt nur ein zufälliges Barcode Ergebnis:

https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/BarcodeCaptureActivity.java

Versuchen die Probe Modifizierung den Barcode zu wählen, dessen Rechteck Bounding enthält den Abgriffspunkt.

+0

Ja, ich beziehe mich auf das Beispielprojekt. Ich erkannte, dass sie die TODO-Linie hatten :(. Das ist eine gute Antwort, aber ich akzeptiere, da es erklärt, warum es keine Genauigkeit gibt, wenn Sie aus einer Gruppe von Barcodes auswählen. Danke. – TerNovi

+1

Ich habe einen Patch, der dieses Problem beheben sollte. Wenn Sie es testen möchten: https://github.com/googlesamples/android-vision/pull/135 – pchx

+0

Ich habe gerade Ihre Pull-Anfrage ausgecheckt.Das ist wirklich nützliche Sachen.Ich habe es ausprobiert und es scheint gut zu funktionieren. Danke! – TerNovi

0

Sie können den Barcode-Typ bei der Erkennung festlegen, so dass Sie den in der Mitte erhalten. https://developers.google.com/android/reference/com/google/android/gms/vision/barcode/BarcodeDetector

Eine andere Lösung, die ich sehen kann, ist die Verwendung der (x, y) -Koordinaten, um die mittlere zu finden.

+0

Ich denke nicht, dass keine dieser Lösungen das hier beschriebene Problem lösen wird. Ich habe als Beispiel auf den mittleren Barcode verwiesen. Aber in Wirklichkeit enthalten alle 3 Barcodes nützliche Informationen in meiner Anforderung. Also kann ich nicht nur angeben, nur den mittleren Barcode zu erkennen. Ich kann auch nicht festlegen, dass nur der Barcode gelesen wird, der in einem festgelegten Bereich von x und y positioniert ist. – TerNovi

Verwandte Themen