2014-12-20 16 views
5

Data Matrix Barcode Unterstützung wurde zu iOS 8 hinzugefügt und ich kann damit Data Matrix Barcodes lesen, wenn sie schwarz auf weiß (dunkel auf hell) sind. Es liest jedoch nie einen weiß auf schwarz (hell auf dunkel) Barcode.Weiß nicht lesbar Data Matrix Barcode

liest diese fein:

enter image description here

Unfähig, dies zu lesen:

enter image description here

Per Data Matrix ECC 200, Licht auf dunklem unterstützt werden sollte.

Hat jemand eine Idee, wie man iOS 8 bekommt, um ein Licht auf dunklem Data Matrix Barcode zu lesen?

+0

Darf ich wissen, welche API Sie verwenden? – gabbler

+0

@gabler Ich verwende die native iOS-Barcode-Funktion ('AVCaptureMetadataOutput') und den zugehörigen Delegaten (' AVCaptureMetadatOutputObjectsDelegate'). – bobnoble

+0

Haben Sie mit Ihrer Kamera das Bild gescannt oder das Bild einfach zum Entschlüsseln übergeben? – gabbler

Antwort

0

Sie können die Farben Ihres AVCaptureSession in Echtzeit invertieren, so dass Sie den Data Matrix Code lesen können.

Sie können GPUImage verwenden, um die Farben zu invertieren. Es ist schnell und lässt sich einfach anschließen. Invertieren Sie einfach und lassen Sie AVFoundation es als normal finden.

+0

'AVCaptureVideoPreviewLayer' dient zum Präsentieren des Videos während der Aufnahme. Das Anwenden eines Invert-Filters würde nur das invertieren, was der Benutzer sieht, und nicht den Eingang der 'AVCaptureSession', also nicht sehen, wie das helfen würde. Denkst du an etwas anderes? – bobnoble

+0

#facepalm - Ja, ich denke an etwas anderes :) Welches System verwenden Sie, um das QR-Bild zu erfassen? Bevor Sie meine Antwort bearbeiten, verarbeiten Sie ein statisches Bild oder verwenden Sie eine Live-Vorschau, um den QR-Code zu erfassen? –

+0

Es ist Data Matrix (nicht QR-Code). Ich verwende den nativen iOS-Barcode-Scan und verwende Live-Video. – bobnoble