Kann jemand sagen, welche Bibliothek besser ist bei der Erkennung kleiner QR-Codes unter schlechten Lichtverhältnissen? Plattform ist iPhone 4 / iOS 5 Ich habe sowohl Barcodes (zxing) als auch die ZBar-Apps ausprobiert und es scheint, dass zxing die Codes unter "harten" Bedingungen merklich besser erkannte. Das heißt, es war kein sehr großer Probentest.
Jede Eingabe über die tatsächlichen Bilderkennungsfähigkeiten (Geschwindigkeit + Qualität) beider Bibliotheken wäre hilfreich.
TIA.
Für mich ist ZXing besser. Ich habe sie beide bei der Arbeit für iOS-Anwendung verwendet.
Mit ZBar hatte ich Probleme mit großen QRCodes.
ZXing funktioniert gut auf iPhone 4 und 3GS, aber Zbar funktioniert schlechter auf 3GS, manchmal kann es den Code einfach nicht erfassen.
Aber wenn Sie nicht nur QR-Codes benötigen, müssen Sie ZBar verwenden.
Sie sollten sich diesen Link ansehen. Leistungsmäßig verursacht die Verwendung der ZBar-Standardwerte Probleme mit großen v40-QRCodes - die Lösung besteht darin, die videoQuality
-Eigenschaft auf UIImagePickerControllerQualityTypeHigh
anstatt auf die Standardgröße 640x480 (Apple-Dokumente) zu setzen. Laut Dokumentation muss die Barcode-Modulgröße mindestens 3 Pixel groß sein, um gescannt zu werden. Ich habe beide SDK vor etwa einem Jahr ausprobiert, ich mag die ZXing-Beispiel-App, aber am Ende vor der Einreichung des Appstores habe ich festgestellt, dass es viele Warnmeldungen erzeugt hat, die ich schwer entfernen kann. Durch den Wechsel zu ZBar konnte ich die Nachricht bereinigen und Funktionen hinzufügen, um mehrere 1D-Barcode-Typen in meiner App zu scannen. Wie gesagt, die Standardeinstellungen geben Ihnen keine optimale Leistung, aber Sie müssen in die Optionen schauen, diejenigen ausschalten, die Sie nicht brauchen, ausgepackt, es sollte ziemlich gut funktionieren.
Ich bin momentan ziemlich zufrieden mit ZBar, werde aber wahrscheinlich wechseln, wenn ZXing-Unterstützung für andere Barcode-Typen, insbesondere DataMatrix, PDF417, Aztec und Maxi Code verfügbar wird.
Ich habe beide benutzt. Sie müssen ZXing verwenden, wenn Sie Data Matrix Codes scannen möchten. Wenn Sie jedoch keine Datenmatrix benötigen, ist die Verwendung von ZBar ein schneller und einfacher Weg. Außerdem gibt es in iOS 7 eine integrierte Scanner-API, AVCaptureMetaDataOutput , das 1D- und 2D-Codes außer der Datenmatrix scannt. Ich würde AVCaptureMetaDataOutput wegen der Einfachheit bevorzugen. Hier ist ein Leitfaden für AVCaptureMetaDataOutput .
Ich habe festgestellt, dass Zxing auf den späteren iPads und iPhones sehr gut ist. Die iPad 2 Kamera war sehr langsam mit Zxing, aber die späteren Kameras waren viel schneller und haben eine bessere Fokussierung, was die Geschwindigkeit erheblich verbesserte.
Ein "Hack", den ich mit Zxing auf iPad 2 gemacht habe, besteht darin, das Rechteck im Code zu ändern. Ich würde bei jedem Versuch fortschreitend herauszoomen, also würde ich das Rechteck nicht mehr in Schritten ausdehnen, sondern würde es fünfmal für jeden Scan prüfen. Die Ergebnisse waren viel besser. Auf dem iPad 3 usw. war das nicht so notwendig, aber ich habe immer noch den Code drin und es ist schnell.
Ich habe sowohl ZBar als auch ZXing in Windows mit Scannern (300 DPI) verwendet und festgestellt, dass dichte QRCodes ein Problem für ZXIng waren und ZBar-Unterstützung enthalten musste. Die Implementierung der ZBar-Unterstützung war sehr schwierig und musste meine eigene API schreiben, falls jemand daran interessiert ist.